当我创建excel文件的副本时,它会创建指向原始文件的链接。我该怎么阻止这一切?
我目前正在运行一个脚本,创建我当前工作表的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.
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术语中的连接。