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

时间:2014-11-25 22:25:30

标签: excel vba hyperlink

我目前正在运行一个脚本,该脚本会创建当前工作表的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

2 个答案:

答案 0 :(得分:1)

在准备发布的工作簿中:在Fluent功能区的“数据”选项卡上,从 Connections 组中选择编辑链接,然后在对话框中进行适当的选择出现了。

enter image description here

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

答案 1 :(得分:0)

如果您RTFM,您会看到如何执行此操作:

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