0

我在 Excel 2007 项目中有这个 VBA 子程序。它在 Sharepoint 站点中的 .txt 文件中记录用户名、报告名称、日期和版本。我的一些用户遇到了Run-Time error'76' Path not found问题。

这是我的代码:

Sub logReport(ReportName As String)

    Call AppendTxt("//myaviall/teamsites/AviallReportingSolutions/Airplane_Usage_Log/Airplane_ACT.txt", UNameWindows & ";" & ReportName & ";" & Now & ";" & VersionNum)

    Dim oFS, TS, FileObj

    'Get text stream
    'Set oFS = CreateObject("Scripting.FileSystemObject")
    'Set FileObj = oFS.GetFile("//myaviall/teamsites/AviallReportingSolutions/Airplane_Usage_Log/Airplane_ACT.txt")
    'Set TS = FileObj.OpenAsTextStream(8, -2) 'ForWriting, TristateUseDefault)

    ' Write to file

    'TS.WriteLine UNameWindows & ";" & ReportName & ";" & Now & ";" & VersionNum
    'TS.Close

    'Set TS = Nothing
    'Set FileObj = Nothing
    'Set oFS = Nothing

End Sub

Function AppendTxt(sFile As String, sText As String)
On Error GoTo Err_Handler
    Dim FileNumber As Integer
 
    FileNumber = FreeFile                   ' Get unused file number
    Open sFile For Append As #FileNumber    ' Connect to the file
    Print #FileNumber, sText                ' Append our string
    Close #FileNumber                       ' Close the file

Exit_Err_Handler:
    Exit Function
 
Err_Handler:
    MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: AppendTxt" & vbCrLf & _
           "Error Description: " & Err.Description, vbCritical, "An Error has Occured!"
    GoTo Exit_Err_Handler
End Function
4

1 回答 1

0

正如斯科特指出的那样,如果只有一个用户遇到问题,我会首先查看它。

我运行一个非常相似的过程,它根据此处的代码从 Outlook 向 csv 文件写入一行 http://www.devhut.net/2011/06/06/vba-append-text-to-a-text-file /

这可能不是您的答案,但如果访问正常,那么尝试另一种方法也无妨。

更新

我还将它包含在我的代码中以测试文件是否存在

exists = Dir$(sFile) <> fileName

其中 fileName = "Airplane_ACT.txt" 但我可能会尝试使用 msgBox 来查看它返回的内容。

还可以尝试将您的字符串更改为 Airplane_ACT_test.txt 并运行代码,这应该会创建一个新的 txt 文件,如果是这种情况,那么问题可能与您的初始 txt 文件有关。

最后一件事:尝试使用不同的路径,例如:到用户的桌面。

于 2012-12-14T10:27:47.400 回答