Const n = 8 ' パスワードの桁数
Dim chars, upper, pointer, password
Dim logFilePath, logMessage
chars = "abcdefghijkmnpqrstuvwxyz0123456789*-_"
upper = Len(chars)
Randomize
For i = 1 To n
pointer = Int(Rnd * upper) + 1
password = password + Mid(chars, pointer, 1)
Next
' 新しいパスワードを表示
InputBox "新しいパスワードです。",, password
' ログファイルへのパス
logFilePath = "log.txt"
' ログに記録するメッセージ
logMessage = "新しいパスワード: " & password & " が生成されました。" & vbCrLf
' ログファイルに書き込み
WriteToLog logFilePath, logMessage
Sub WriteToLog(filePath, message)
Dim objFSO, objFile
' File System Objectを作成
Set objFSO = CreateObject("Scripting.FileSystemObject")
' ファイルが存在しない場合は作成し、既存の場合は追記
Set objFile = objFSO.OpenTextFile(filePath, 8, True)
' メッセージをファイルに書き込み
objFile.Write message
' ファイルを閉じる
objFile.Close
End Sub