← コード一覧へ戻る
実務ハイパーリンク

ハイパーリンク先ファイルを新規に作成する

保存先を選んで新しいリンク先ブックを作り、A1にリンクを設定します。

実行前に確認

  • A1の値・数式を上書きします。既存ファイルがある場合は処理を止めます。
  • 関連付けやExcel環境に依存するためデスクトップ版で試してください。

1サンプルコード

Sub Example1135()
    Dim ws As Worksheet
    Dim p As Variant
    Dim h As Hyperlink
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    p = Application.GetSaveAsFilename(InitialFileName:="LinkedBook.xlsx", FileFilter:="Excelブック (*.xlsx),*.xlsx")
    If VarType(p) = vbBoolean Then Exit Sub
    If Len(Dir(CStr(p))) > 0 Then
        MsgBox "同名ファイルがあります。別名を選んでください。"
        Exit Sub
    End If
    If MsgBox("新規ファイルを作り、A1をリンクに書き換えますか?", vbYesNo + vbExclamation) <> vbYes Then Exit Sub
    Set h = ws.Hyperlinks.Add(Anchor:=ws.Range("A1"), Address:=CStr(p), TextToDisplay:="新規ブック")
    h.CreateNewDocument FileName:=CStr(p), EditNow:=True, Overwrite:=False
End Sub

図で見るファイルの変化

イメージ図

概念図:新しいファイルと、そのファイルを指すリンクを作ります。

  1. 変更前

    選んだ保存先にLinkedBook.xlsxがまだない

  2. 手動:保存先と確認

    保存画面で場所・名前を選び、確認で[はい]

  3. マクロ:作成

    Sheet1!A1に「新規ブック」のリンクを作り、リンク先を新規作成

  4. 変更後

    選んだ保存先に新規.xlsxができ、編集用に開く

LinkedBook.xlsxは初期候補名です。キャンセル・同名ファイルあり・[いいえ]なら作成を中止。A1の値や数式は上書きされます。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。A1を空け、保存可能なローカルフォルダーを用意します。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。

  3. 3

    保存画面で新しいファイル名を選びます。拡張子は.xlsxのままにします。

  4. 4

    マクロ内にカーソルを置いてF5で実行します。新規リンク先ファイルが作成され、編集用に開きます。

使っている機能の公式ドキュメント(Microsoft Learn)