C# 断开excel工作簿链接
我试图以编程方式断开工作簿的所有链接。我尝试过使用approach方法,但不起作用,如果有链接,它也总是返回nullC# 断开excel工作簿链接,c#,excel,hyperlink,vba,C#,Excel,Hyperlink,Vba,我试图以编程方式断开工作簿的所有链接。我尝试过使用approach方法,但不起作用,如果有链接,它也总是返回null public static string BreakLinks(string excelfilename, string newexcelfile, bool close, Workbook mywrk) { string nomefile = excelfilename; Workbook mywrk = Get
public static string BreakLinks(string excelfilename, string newexcelfile, bool close, Workbook mywrk)
{
string nomefile = excelfilename;
Workbook mywrk = GetWorkBook(excelfilename);
try
{
Array olinks = mywrk.LinkSources(Microsoft.Office.Interop.Excel.XlLink.xlExcelLinks) as Array;
if (olinks != null)
{
for (int i = 1; i <= olinks.Length; i++)
{
mywrk.BreakLink((string)olinks.GetValue(i), Microsoft.Office.Interop.Excel.XlLinkType.xlLinkTypeExcelLinks);
}
SafeSaveCopyAs(mywrk, newexcelfile);
nomefile = newexcelfile;
}
}
catch
{
}
if (close) CloseWorkBook(ref mywrk);
return nomefile;
}
为什么VBA返回链接而c方法不返回?有什么想法吗?我觉得您可能需要重新研究代码的语法。例如,在c代码片段中,对于int i=1,根据msdn is~;我之前的评论是针对旧版本的。根据msdn,最新的c代码片段为~object LinkSources object Type~,而在VB中,相同用途的代码片段为~Function LinkSources Type as object as object~
Sub main()
Dim olinks As Object
Dim v As Variant
v = ActiveWorkbook.LinkSources(xlExcelLinks)
Dim first_link As String
first_link = v(1)
Debug.Print first_link
End Sub