|
Wordの機能を借りるのはダメですか?
下のマクロは、ファイル名をフルで指定して実行すると、
自動的に「excelLog.txt」ができて、通し番号に「1」が設定されます。
実行する度に、通し番号が増えます。
Andrew Savikas著『Word Hacks』オライリー・ジャパン刊
「文書に通し番号を付ける」214〜216頁から引用して、
Excelで動くように変更。
Sub MyIniFileNumber()
Rem 通し番号の読み込み・設定
Rem 指定したファイルが存在しない場合は、自動生成され、
Rem 通し番号に「1」が設定される。
'
Dim myWord As Object
Dim MyIniFile As String
Dim myCurrentNumber As String ' 通し番号
'
Rem ファイル名を指定。
MyIniFile = "C:\Users\User\Documents\Zzz\excelLog.txt"
'
On Error Resume Next
Set myWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set myWord = CreateObject("Word.Application")
End If
On Error GoTo 0
'
Rem ファイルから値を読み込み。
myCurrentNumber = myWord.System.PrivateProfileString(MyIniFile, "CurrentInvoice", "Number")
'
If Len(myCurrentNumber) = 0 Then
myCurrentNumber = CStr(0)
End If
'
Rem 通し番号の値を加算。
myCurrentNumber = CStr(CInt(myCurrentNumber) + 1)
'
Rem ファイルに値を設定。
myWord.System.PrivateProfileString(MyIniFile, "Date Time", "Date") = CStr(Date)
myWord.System.PrivateProfileString(MyIniFile, "Date Time", "Time") = CStr(Time)
myWord.System.PrivateProfileString(MyIniFile, "CurrentInvoice", "Number") = myCurrentNumber
'
Set myWord = Nothing
End Sub ' MyIniFileNumber *----*----* *----*----* *----*----* *----*----*
[End]
|
|