hiko-blog

VBA業務改善

MENU

パスワード作成vbs

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