将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径

Posted

技术标签:

【中文标题】将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径【英文标题】:Writing text from Excel 2007 to a .txt file on a Sharepoint Site causes Run-Time error'76' Path not found 【发布时间】:2012-12-01 15:23:03 【问题描述】:

我在 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

【问题讨论】:

这些用户是否有权访问共享点站点? 【参考方案1】:

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

我运行了一个非常相似的过程,它根据此处的代码从 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 文件有关。

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

【讨论】:

瑞恩,感谢您的回复。这个问题发生在多个用户身上,我已经验证了他们的访问权限。所以另一种方法可能是我的下一步。有什么建议吗? Ryan,我试过你的方法,我的测试用户收到错误 76,找不到路径。这是我的代码: 您的新代码可以在您的机器上运行吗?并且您是否测试过用户可以打开文件,用户可以使用Windows资源管理器打开文件? 我让其中一位用户使用 Windows 资源管理器查找路径,然后它就出现了。所以机器正在找到它,但只是在运行宏时没有。有什么想法吗? 好吧,这让我有点难过,如果代码对您有用,那么用户具有与您相同的访问级别并且可以导航到文件,那么理论上它应该可以工作。我假设代码在 Open sFile For Append As #FileNumber 上崩溃

以上是关于将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径的主要内容,如果未能解决你的问题,请参考以下文章

用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)

新手,易语言将数据写入excel指定单元格

在excel中如何将输入的数字自动转换为日期

将多个文本文件写入不同工作表上的一个 Excel 工作簿?

使用 MATLAB 将数据写入单张 excel

字符串中的正确函数(Excel 2007 VBA)