ログファイルに書き込むこの関数があります。黙って失敗しています。この関数でエラーが発生しないという点で、ファイルの作成または書き込みに失敗するだけです。に書き込もうとしてい%TEMP%\myappname.log
ます。また、で失敗し%USERPROFILE%\Desktop\myappname.log
ます。サーバーはWindowsServer2008R2Standardです。他のプログラムでアプリケーションフォルダに書き込むときにこれに遭遇したので、%TEMP%
ディレクトリへの書き込みに移動しました。これで解決しました。%TEMP%
しかし、このシステムでは、ディレクトリに書き込むことさえできません。はい、私も管理者として実行しようとしましたが、役に立ちませんでした。この場合の%TEMP%は、まで解決さExpandEnvironmentStrings
れます。C:\Users\sa\AppData\Local\Temp\2
したがって、g_strLogPathはC:\Users\sa\AppData\Local\Temp\2\myappname.log
です。
Public Function LogMessage(ByVal strInput As String, Optional ByVal blnDate As Boolean = False) As Boolean
Dim intFileNumber As Integer
On Error GoTo ErrorHandler
If g_lngLogLevel <> 1 Then
Exit Function
End If
If Len(g_strLogPath) = 0 Then
SetLogPath
End If
If blnDate Then
strInput = Format(Now, cstrLogDateFormat) & " : " & strInput
End If
intFileNumber = FreeFile
Open g_strLogPath For Append As #intFileNumber
Print #intFileNumber, strInput
Close #intFileNumber
LogMessage = True
Exit Function
ErrorHandler:
MsgBox _
"Error: " & Err.Number & vbCrLf & _
"Location: Module1.LogMessage" & vbCrLf & _
"Line: " & Erl & vbCrLf & _
Err.Description, vbExclamation + vbOKOnly
End Function