PythonでWord文書にハイパーリンクを追加する

Word 文書にハイパーリンクを挿入することで、文書のインタラクティブ性や情報のアクセス性を向上させるだけでなく、動的に更新が必要な内容を簡単に管理でき、文書の利用体験を高めることができます。Python を使用して Word 文書にハイパーリンクを追加すれば、ハイパーリンクの自動化を実現できるだけでなく、より個別化されたハイパーリンク処理プログラムを開発することも可能です。本記事では、**Python を使用して Word 文書にハイパーリンクを追加する方法**を紹介します。

本記事で紹介する方法では、無料の[Free Spire.Doc for Python](https://jp.e-iceblue.com/introduce/introduce-free-doc-for-python.html)を使用します。インストールは次のコマンドで行います：`pip install Spire.Doc.Free`

## Python を使用して Word 文書にさまざまなハイパーリンクを追加する方法
文書にリンクを追加するには、段落の `AppendHyperlink` メソッドを使用します。リンクの種類に応じて、ウェブリンク（`HyperlinkType.WebLink`）、メールリンク（`HyperlinkType.EMailLink`）、ファイルリンク（`HyperlinkType.FileLink`）、またはブックマークリンク（`HyperlinkType.Bookmark`）を指定できます。さらに、画像にハイパーリンクを追加してナビゲーション機能を持たせることも可能です。以下に具体的な手順を示します：

### 操作手順

1. 必要なクラスとモジュール（例：`Document` や `ParagraphStyle`）をインポートする。  
2. Word 文書を生成するために `Document` インスタンスを作成する。  
3. セクションを追加し、ページの余白を設定する（`AddSection` と `PageSetup.Margins` を使用）。  
4. セクションに段落を追加する（`AddParagraph` メソッドを使用）。  
5. 段落にさまざまなハイパーリンクを追加する（ウェブリンク、メールリンク、ファイルリンク、ブックマークリンクを含む）。  
6. 段落に改行を挿入する（`AppendBreak` メソッドを使用）。  
7. ブックマークを追加してそれにリンクする（`AppendBookmarkStart`、`AppendBookmarkEnd`、`AppendHyperlink` を使用）。  
8. 画像を挿入し、画像にハイパーリンクを追加する（`AppendPicture` と `AppendHyperlink` を使用）。  
9. 段落スタイルを作成し、適用する（`ParagraphStyle` と `ApplyStyle` を使用）。  
10. 文書を保存してリソースを解放する（`SaveToFile` と `Dispose` を呼び出す）。

**コード例**
```python
from spire.doc import *
from spire.doc.common import *

# Word 文書を作成します
doc = Document()

# セクションを追加します
section = doc.AddSection()

# 段落を追加します
paragraph = section.AddParagraph()

# ウェブリンクを追加します
paragraph.AppendHyperlink("https://www.example-home.com/", "ホームページ", HyperlinkType.WebLink)

# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# メールリンクを追加します
paragraph.AppendHyperlink("mailto:example@example.com", "メールでお問い合わせ", HyperlinkType.EMailLink)

# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# ファイルリンクを追加します
filePath = "C:\\Users\\Administrator\\Desktop\\Report.xlsx"
paragraph.AppendHyperlink(filePath, "レポートを開く", HyperlinkType.FileLink)

# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# セクションを追加してブックマークを作成します
section2 = doc.AddSection()
bookmarkParagraph = section2.AddParagraph()
bookmarkParagraph.AppendText("ここにブックマークがあります")
start = bookmarkParagraph.AppendBookmarkStart("myBookmark")
bookmarkParagraph.Items.Insert(0, start)
bookmarkParagraph.AppendBookmarkEnd("myBookmark")

# ブックマークへのリンクを追加します
paragraph.AppendHyperlink("myBookmark", "文書内の指定位置にジャンプ", HyperlinkType.Bookmark)

# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# 画像リンクを追加します
image = "Image1.png"
picture = paragraph.AppendPicture(image)
paragraph.AppendHyperlink("https://www.example.com/", picture, HyperlinkType.WebLink)

# 段落スタイルを作成し、段落に適用する
style = ParagraphStyle(doc)
style.Name = "Style1"
style.CharacterFormat.FontName = "Yu Gothic UI"
style.CharacterFormat.FontSize = 14
doc.Styles.Add(style)
for i in range(section.Paragraphs.Count):
    section.Paragraphs.get_Item(i).ApplyStyle(style.Name)

# 文書をファイルに保存します
doc.SaveToFile("output/CreateHyperlinks.docx", FileFormat.Docx2019)
doc.Dispose()
```

結果：
![PythonでWord文書にハイパーリンクを追加する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/b5272b85-b36c-5a0f-27f5-944adc512b12.png)

本記事では、Python を使用して Word 文書にさまざまな種類のハイパーリンクを追加する方法を手順とともに解説しました。