Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我创建excel文件的副本时,它会创建指向原始文件的链接。我该怎么阻止这一切?_Excel_Vba_Hyperlink - Fatal编程技术网

当我创建excel文件的副本时,它会创建指向原始文件的链接。我该怎么阻止这一切?

当我创建excel文件的副本时,它会创建指向原始文件的链接。我该怎么阻止这一切?,excel,vba,hyperlink,Excel,Vba,Hyperlink,我目前正在运行一个脚本,创建我当前工作表的excel备份,并通过电子邮件发送给其他人 但每次我这样做时,它都会创建一个指向原始文档的链接。有没有办法防止这种情况发生?我不希望我保存或发送的文件有一个指向原始文件的链接,甚至没有任何链接 这是保存工作簿的代码 Set wb = Workbooks.Add ThisWorkbook.Activate Current.Copy Before:=wb.Sheets(1) wb.Activate wb.SaveAs "E:\" & Current.

我目前正在运行一个脚本,创建我当前工作表的excel备份,并通过电子邮件发送给其他人

但每次我这样做时,它都会创建一个指向原始文档的链接。有没有办法防止这种情况发生?我不希望我保存或发送的文件有一个指向原始文件的链接,甚至没有任何链接

这是保存工作簿的代码

Set wb = Workbooks.Add
ThisWorkbook.Activate
Current.Copy Before:=wb.Sheets(1)
wb.Activate
wb.SaveAs "E:\" & Current.Name & "-" & Format(Now, "dd-mmm-yy h-mm-ss") & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = False
wb.Close
Application.DisplayAlerts = True

在准备发布的工作簿中:在Fluent功能区的“数据”选项卡上,从“连接”组中选择“编辑链接”,并从显示的对话框中进行适当选择

您可以选择将所有链接替换为当前值(我认为在您的场景中最有可能是当前值),以及将链接重新定向到另一个工作簿。

如果您将看到如何执行此操作:

Sub breakLinks(wb As Workbook)
Dim ls As Variant, i As Long

  ls = wb.LinkSources(xlLinkTypeExcelLinks)
  For i = 1 To UBound(ls)
    Debug.Print "breaking " & ls(i)
    wb.BreakLink ls(i), xlLinkTypeExcelLinks
  Next i

End Sub
电话签名:

Set wb = Workbooks.Add
ThisWorkbook.Activate
Current.Copy Before:=wb.Sheets(1)

breaklinks wb

wb.Activate
wb.SaveAs "E:\" & Current.Name & "-" & Format(Now, "dd-mmm-yy h-mm-ss") & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = False
wb.Close
Application.DisplayAlerts = True

您要复制的工作表中是否有对其他工作表中单元格的引用?必须有。可能是命名范围?嘿,酷蓝,当我插入此代码时,它会给我以下错误消息“对象不支持属性或方法”@JohnFayt发布完整的代码,说明每个代码的位置,并准确显示错误所在的位置,我会查看一下。在正在创建的工作簿中没有连接,只有一个链接。在我用来生成文件的工作簿中,它有连接,但在未使用的工作表上。@JohnFayt:如上所述:“从连接选项卡中选择编辑链接…”请注意,所有链接都是EXCEL术语中的连接。