ハイパーリンクは、Excel で異なる部分を接続したり、Web サイト、メールアドレス、他のファイルなどの外部ソースにリンクすることができる強力なツールです。これにより、ユーザーはワークシート内または異なるワークシート間を素早く簡単に移動できます。ナビゲーションを容易にするだけでなく、ハイパーリンクはファイル内のデータに関連する追加のコンテキストやリソースを提供することもできます。たとえば、ワークシートに記載されている特定の製品に関する詳細情報を提供する Web サイトにリンクし、読者が製品をより深く理解できるようにすることができます。この記事では、Spire.XLS for C++ を使用して C++ で Excel にテキストおよび画像のハイパーリンクを追加する方法について説明します。 C++ で Excel にテキストハイパーリンクを追加する C++ で Excel に画像ハイパーリンクを追加する Spire.XLS for C++ をインストールします Spire.XLS for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。 Spire.XLS for C++ を C++ アプリケーションに統合する方法 C++ で Excel にテキストハイパーリンクを追加する Excel のテキストハイパーリンクはテキストとして表示されます。 テキストをクリックすると、ワークブックの特定の位置、電子メールアドレス、web ページ、外部ファイルなどの特定のページにジャンプできます。 次の手順では、Spire.XLS for C++ を使用して Excel にテキストハイパーリンクを追加する方法を説明します。 Workbook クラスのインスタンスを初期化します。 Workbook->GetWorksheets()->Get(int index) メソッドを使用して特定のワークシートを取得します。 Worksheet->GetRange(LPCWSTR_S name) メソッドを使用して、ハイパーリンクを追加するセルを取得します。 Worksheet->GetHyperLinks()->Add(intrusive_ptr<IXLSRange> range) メソッドを使用して、そのセルにハイパーリンクを追加します。 XlsHyperLink->SetType(HyperLinkType value)、XlsHyperLink->SetTextToDisplay(LPCWSTR_S value) および XlsHyperLink->SetAddress(LPCWSTR_S value) メソッドを使用して、ハイパーリンクのタイプ、テキスト、およびアドレスを設定します。 XlsWorksheet->AutoFitColumn(int columnIndex) メソッドを使用して列幅を自動調整します。 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) メソッドを使用して結果ファイルを保存します。 C++ #include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //Workbookクラスのインスタンスを初期化する intrusive_ptr<Workbook> workbook = new Workbook(); //最初のワークシートを取得する intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); //Webページへのテキストハイパーリンクを追加する intrusive_ptr<CellRange> cell1 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B3")); intrusive_ptr<HyperLink> urlLink = sheet->GetHyperLinks()->Add(cell1); urlLink->SetType(HyperLinkType::Url); urlLink->SetTextToDisplay(L"E-ICEBLUE"); urlLink->SetAddress(L"https://www.e-iceblue.com/"); //電子メールアドレスへのテキストハイパーリンクを追加する intrusive_ptr<CellRange> cell2 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"E3")); intrusive_ptr<HyperLink> mailLink = sheet->GetHyperLinks()->Add(cell2); mailLink->SetType(HyperLinkType::Url); mailLink->SetTextToDisplay(L"電子メールアドレス"); mailLink->SetAddress(L"mailto:support @e-iceblue.com"); //外部ファイルへのテキストハイパーリンクを追加する intrusive_ptr<CellRange> cell3 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B7")); intrusive_ptr<HyperLink> fileLink = sheet->GetHyperLinks()->Add(cell3); fileLink->SetType(HyperLinkType::File); fileLink->SetTextToDisplay(L"外部ファイル"); fileLink->SetAddress(L"C:UsersAdministratorDesktopReport.xlsx"); //別のシートのセルへのテキストハイパーリンクを追加する intrusive_ptr<CellRange> cell4 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"E7")); intrusive_ptr<HyperLink> sheetLink = sheet->GetHyperLinks()->Add(cell4); sheetLink->SetType(HyperLinkType::Workbook); sheetLink->SetTextToDisplay(L"sheet2のB5"); sheetLink->SetAddress(L"Sheet2!B5"); //UNCアドレスへのテキストハイパーリンクを追加する intrusive_ptr<CellRange> cell5 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B11")); intrusive_ptr<HyperLink> uncLink = sheet->GetHyperLinks()->Add(cell5); uncLink->SetType(HyperLinkType::Unc); uncLink->SetTextToDisplay(L"UNCアドレス"); uncLink->SetAddress(L"192.168.0.121"); //列幅を自動調整する sheet->AutoFitColumn(2); sheet->AutoFitColumn(5); //結果ファイルを保存する workbook->SaveToFile(L"AddTextHyperlinks.xlsx", ExcelVersion::Version2013); workbook->Dispose(); } C++ で Excel に画像ハイパーリンクを追加する テキストハイパーリンクのほかに、画像ハイパーリンクをクリックすることで特定の web ページにジャンプすることもできます。 次の手順では、Spire.XLS for C++ を使用して画像ハイパーリンクをに追加する方法を説明します。 Workbook クラスのインスタンスを初期化します。 Workbook->GetWorksheets()->Get(int index) メソッドを使用して特定のワークシートを取得します。 Worksheetsheet->GetRange(LPCWSTR_S name)->SetText(LPCWSTR_S value) メソッドを使用して、特定のセルにテキストを追加します。 Worksheet->GetPictures()->Add(int topRow,int leftColumn, LPCWSTR_S fileName) メソッドを使用して、特定のセルに画像を追加します。 画像の幅と高さを設定します。 XlsBitmapShape->SetHyperLink(LPCWSTR_S linkString, bool isExternal) メソッドを使用して、画像にハイパーリンクを追加します。 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) メソッドを使用して結果ファイルを保存します。 C++ #include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //Workbookクラスのインスタンスを初期化する intrusive_ptr<Workbook> workbook = new Workbook(); //最初のワークシートを取得する intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); //特定のセルにテキストを追加する sheet->GetRange(L"A1")->SetText(L"画像ハイパーリンク"); //特定のセルに画像を追加する intrusive_ptr<ExcelPicture> picture = ExcelPicture::Dynamic_cast<ExcelPicture>(sheet->GetPictures()->Add(2, 1, L"Logo.png")); //画像の幅と高さを設定する picture->SetWidth(100); picture->SetHeight(100); //画像へのハイパーリンクを追加する picture->SetHyperLink(L"https://www.e-iceblue.com", true); //列幅を設定する sheet->GetColumns()->GetItem(0)->SetColumnWidth(13); //結果ファイルを保存する workbook->SaveToFile(L"AddImageHyperlink.xlsx", ExcelVersion::Version2013); workbook->Dispose(); } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。