共享Excel宏启用的工作簿 - Excel无法访问文件问题

时间:2015-04-01 11:09:30

标签: excel vba excel-vba

我想做什么。

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

我做了什么?

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

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

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

我的来源:

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

Screenshot of file xlsm

1 个答案:

答案 0 :(得分:0)

发送代码以便插入宏来运行它,看看它们是否会出现同样的错误。它对我运行正常(除了我定义我的变量)。

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