コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

人生が辛いときにおすボタン作った ~ワード編

人生辛くない?

はい、どうもおはようございます。僕です。毎日人生辛いですよね。今日はそういった辛さのあまり辛いとき押すボタンを作ってしまいました。

こんなものできました。Wordで動かせます。
f:id:andron:20190516174807g:plain
コードをのせておきますのでみなさんも事務作業に疲れたときに是非押して癒されてください。INIファイルをいじれば出力内容の書き換えとかもできます。

以下クソコード

' INIファイルの情報の読み込み:GetPrivateProfileString
Private Declare Function GetPrivateProfileString Lib "kernel32" _
                         Alias "GetPrivateProfileStringA" _
                         (ByVal lpApplicationName As String, _
                          ByVal lpKeyName As Any, _
                          ByVal lpDefault As String, _
                          ByVal lpReturnedString As String, _
                          ByVal nSize As Long, _
                          ByVal lpFileName As String) As Long

' INIファイル値取得してアクティブなドキュメントに書き込む
Public Sub GetIniValue()
  Dim returnString As String * 1024
  Dim fileName As String
  Dim key As String
  Dim getValue As String
  Dim result As Long
  
  fileName = ("INIファイルのあるパス")
  sectionName = "MYSECTION"
  key = "MYDATA"
  
  result = GetPrivateProfileString(sectionName, key, "", returnString, Len(returnString), fileName)
  getValue= Left(returnString, InStr(returnString, Chr(0)) - 1)
  ActiveDocument.Content.InsertAfter Text:=getValue
End Sub

'ボタンイベント
Private Sub CommandButton_Click()
 Call GetIniValue
End Sub

言い訳をさせていただきますとVBAでよく使われる形式(?)のINIファイルの読み込みとか仕様とかそういうのが知りたかったから作った。決して月曜日がきてしまった絶望感からとかいつものように頭がおかしくなってこんなクソマクロを作ってしまったわけではないのです(大嘘)。


参考
GetPrivateProfileString function (winbase.h) | Microsoft Docs

INIファイルって以下形式で書くそうですね、へー。GetPrivateProfileString記述すげーめんどくさいから今後何か起きない限り使わないかも。

[section]
key=string
.
.