Home » Python » xlwingsの使い方 » xlwingsでハイパーリンクを設定する-Range.add_hyperlink()メソッド

xlwingsでハイパーリンクを設定する-Range.add_hyperlink()メソッド

動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.30.8 + 64bit Excel(バージョン2306 ビルド16529.20000)

「python エクセル ハイパーリンク 設定」
といった検索でアクセスがありました。

この記事では、Excelを操作する外部ライブラリ「xlwings」を使ってハイパーリンクを設定する、簡単なサンプルをご紹介します。

xlwingsでハイパーリンクを設定するサンプル

以下のスクリプトを実行してみてください。

import xlwings as xw

xw.Book()

rng = xw.Range('A1')
rng.add_hyperlink('https://www.relief.jp/', 'インストラクターのネタ帳')

xlwingsのBook()関数で新規にブックが作成され、

xw.Book()

xlwingsのRange()関数で取得できるアクティブシートのA1セルに

rng = xw.Range('A1')

「インストラクターのネタ帳」と入力され、「https://www.relief.jp/」へのリンクが設定されます。

rng.add_hyperlink('https://www.relief.jp/', 'インストラクターのネタ帳')

セルを表すRangeオブジェクトに、ハイパーリンクを設定するするためのadd_hyperlink()メソッドが用意されています。

サンプルのとおり、第1引数にURL、第2引数にセルに入力する文字列を指定します。

Excel VBAのハイパーリンク設定よりシンプル

Excel VBAの場合、WorksheetオブジェクトやRangeオブジェクトに用意されているHyperlinksプロパティを使って、Hyperlinksコレクションを取得してAddメソッドを呼ぶという手間が必要です。

それに対し、Rangeオブジェクトのadd_hyperlink()メソッドでいきなりハイパーリンクを設定することができます。

もちろん内部では、Excel VBAのRange.Hyperlinks-Hyperlinks.Addを辿っています。

_xlwindows.pyモジュールのRangeクラスで、以下のように定義されています。

def add_hyperlink(self, address, text_to_display, screen_tip):
    if self.xl is not None:
        link = self.xl.Hyperlinks.Add(Anchor=self.xl, Address=address)
        link.TextToDisplay = text_to_display
        link.ScreenTip = screen_tip

最終更新日時:2023-10-13 12:44

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsでハイパーリンクを設定する-Range.add_hyperlink()メソッド

「xlwingsの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.