【问题标题】:Shared Excel macro enabled workbook - Excel cannot access the file issue共享 Excel 启用宏的工作簿 - Excel 无法访问文件问题
【发布时间】:2015-06-06 00:11:26
【问题描述】:

我想做什么。

将启用宏的 Excel 文档发送给我的同事,其中包含一个可打开保存文件对话框然后生成此 csv 的工作宏。

我做了什么?

我在 Excel 2013 中制作了一个 VBA 宏,它在我的机器上运行良好。但是,当我将此启用宏的 excel 表发送给我的同事时,他得到:

Microsoft Office Excel 无法访问文件“我的计算机上文档的路径”。有几个可能的原因:

  • 文件名或路径不存在。
  • 该文件正被另一个程序使用。
  • 您尝试保存的工作簿与当前打开的工作簿同名

我的来源:

Sub Convert2CSV()
    Dim fileName As String
    fileName = "OrderSedel_" & Format(Now, "yyyy-mm-dd hh mm") & ".csv"

    With Application.FileDialog(msoFileDialogSaveAs)
            .Title = "xxx"
            .AllowMultiSelect = False
            .InitialFileName = fileName
            .FilterIndex = 15
            result = .Show
            If (result <> 0) Then
                ' create file
                fileName = Trim(.SelectedItems.Item(1))
                fnum = FreeFile
                Open fileName For Output As fnum


                ' Write the csv data from form record set
                For i = 7 To ActiveSheet.UsedRange.Rows.Count
                    If ( _
                        (Not Trim(Cells(i, 1).Value & vbNullString) = vbNullString Or _
                        Not Trim(Cells(i, 3).Value & vbNullString) = vbNullString) And _
                        Not Trim(Cells(i, 9).Value & vbNullString) = vbNullString) Then
                            'Check EAN (Trim). If No EAN get Bolist ArtNum
                            If (Trim(Cells(i, 3).Value & vbNullString) = vbNullString) Then
                                Print #fnum, Cells(i, 1).Value & ";" & Cells(i, 9).Value
                                Else
                                Print #fnum, Cells(i, 3).Value & ";" & Cells(i, 9).Value
                                End If
                    End If
                Next i



            ' close file
            Close #fnum
            End If
      End With

End Sub

【问题讨论】:

  • 我没有要测试的 2013,但是您可以浏览.FileDialog 的属性,看看是否有可以设置的默认目录属性?可能是默认目录以某种方式“卡”在 your 机器上的路径上,如果您在代码中将其设置为 %My Documents% 之类的东西,它可能会在运行时解决该问题并且拿起你同事的MyDocuments,而不是尝试访问你的。
  • 关于我上面的评论,尝试设置.InitialFileName“设置或返回一个字符串,表示最初显示在文件对话框中的路径或文件名。” .我花了一分钟在MS Docs 中找到它
  • 我正在设置 InitialFileName :(
  • 这个错误可能是非宏观问题。工作簿中是否有一些数据链接(普通 Excel 功能、数据 - 连接)?一些使用指定路径的公式,一些其他的表连接? Ilustration of what I mean
  • @BranislavKollár 正确的名称应该是 Excel 启用宏的工作簿(请参阅我的附件图片)。对此感到抱歉。

标签: vba excel


【解决方案1】:

发送代码让他们插入宏以运行它,看看他们是否得到相同的错误。它对我来说运行良好(除了我定义了我的变量)。

可能是他们的 Excel 副本未设置为信任 VBA。 (在设置下。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多