gì bạn muốn sử dụng ở đây là phương pháp Hyperlinks.Add.
Bạn có thể gọi nó với mã mà trông giống như sau:
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
Excel.Range rangeToHoldHyperlink = worksheet.get_Range("A1", Type.Missing);
string hyperlinkTargetAddress = "Sheet2!A1";
worksheet.Hyperlinks.Add(
rangeToHoldHyperlink,
string.Empty,
hyperlinkTargetAddress,
"Screen Tip Text",
"Hyperlink Title");
Dưới đây là một ví dụ tự động hóa đầy đủ mà bạn có thể kiểm tra:
void AutomateExcel()
{
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
Excel.Workbook workbook = excelApp.Workbooks.Add(Type.Missing);
workbook.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
workbook.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
Excel.Range rangeToHoldHyperlink = worksheet.get_Range("A1", Type.Missing);
string hyperlinkTargetAddress = "Sheet2!A1";
worksheet.Hyperlinks.Add(
rangeToHoldHyperlink,
string.Empty,
hyperlinkTargetAddress,
"Screen Tip Text",
"Hyperlink Title");
MessageBox.Show("Ready to clean up?");
// Cleanup:
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
Marshal.FinalReleaseComObject(range);
Marshal.FinalReleaseComObject(worksheet);
workbook.Close(false, Type.Missing, Type.Missing);
Marshal.FinalReleaseComObject(workbook);
excelApp.Quit();
Marshal.FinalReleaseComObject(excelApp);
}
Hope this helps!
Mike
Nguồn
2009-08-26 17:21:07
Tôi đã sử dụng tham số địa chỉ thay vì địa chỉ con ... cái đầu tiên không hoạt động. – TimothyP
Điểm mấu chốt mà tôi đã bỏ lỡ là ô được trỏ tới bởi siêu liên kết đi vào địa chỉ con. Tôi đã cố gắng để đặt nó trong địa chỉ –