---
title: Excelファイルを軽量化してセキュリティを向上させるためにハイパーリンクを削除する方法
url: 'https://automationse.net/excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%BB%BD%E9%87%8F%E5%8C%96%E3%81%97%E3%81%A6%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%92%E5%90%91%E4%B8%8A%E3%81%95%E3%81%9B'
markdown: 'https://automationse.net/excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%BB%BD%E9%87%8F%E5%8C%96%E3%81%97%E3%81%A6%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%92%E5%90%91%E4%B8%8A%E3%81%95%E3%81%9B.md'
date: '2023-03-11'
description: '前回はアドインで無効化する方法を書きましたが、そもそも元ファイルからハイパーリンクを削除してしまえばいいのでは？ と思いプログラムを考えてみました。 [st-postgroup html_class="undefined" id="387" rank="0" type="" slide="off" slides_to_show="3,3,2" slide_date="on" slide_more="ReadMore" slide_cent…'
taxonomy:
  category:
    - IT関連
  tag:
    - Excel
    - VBA
    - 自動化
---

# Excelファイルを軽量化してセキュリティを向上させるためにハイパーリンクを削除する方法

## [Excelファイルを軽量化してセキュリティを向上させるためにハイパーリンクを削除する方法](https://automationse.net/excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%BB%BD%E9%87%8F%E5%8C%96%E3%81%97%E3%81%A6%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%92%E5%90%91%E4%B8%8A%E3%81%95%E3%81%9B)

  公開日 2023.03.11 更新日 2023.03.11  [Excel](https://automationse.net/tag:Excel#body-wrapper) [VBA](https://automationse.net/tag:VBA#body-wrapper) [自動化](https://automationse.net/tag:%E8%87%AA%E5%8B%95%E5%8C%96#body-wrapper)  

 前回はアドインで無効化する方法を書きましたが、そもそも元ファイルからハイパーリンクを削除してしまえばいいのでは？

と思いプログラムを考えてみました。

\[st-postgroup html\_class="undefined" id="387" rank="0" type="" slide="off" slides\_to\_show="3,3,2" slide\_date="on" slide\_more="ReadMore" slide\_center="off" fullsize\_type=""\]

## Excelに設定されたハイパーリンクを削除するメリット

### ファイルサイズの軽減

ハイパーリンクはファイルサイズを増やす要因になります。削除することでファイルサイズを軽減することができます。

また、ファイルを開く際の起動時間も改善されます。

### ファイルの見やすさの向上

イパーリンクが多く存在する場合、セル内の文字列が見づらくなることがあります。削除することでセル内の文字列の可読性を向上させることができます。

### セキュリティ上の理由

ハイパーリンクは、外部のファイルやウェブサイトにリンクするため、悪意のあるリンクが含まれる可能性があります。

そのため、削除することでセキュリティ上のリスクを軽減することができます。

## ハイパーリンク削除VBAについて

早速プログラムを掲載します。このVBAは、まず削除したいファイルのフルパスを「A1」セルに設定し、

VBAを実行すると、対象ファイルが開かれます。

その後、すべてのシートからハイパーリンクを削除し、強制的にハイパーリンクを削除したファイルに上書き保存をする。という流れです。

```
Sub deleteHyperLinks()

    Dim filePath As String
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim cell As Range
    Dim hl As Hyperlink

    ' A1セルからファイルパスを取得する
    filePath = Range("A1").Value

    ' 対象のExcelファイルを読み取り専用で開く
    Set wb = Nothing

    Set wb = Workbooks.Open(filePath, ReadOnly:=False, IgnoreReadOnlyRecommended:=True, Password:="", Editable:=False, WriteResPassword:="", UpdateLinks:=False)

    ' ワークシートのハイパーリンクを無効化する
    For Each ws In wb.Worksheets
        For Each cell In ws.UsedRange.Cells
            If cell.Hyperlinks.Count > 0 Then
                For Each hl In cell.Hyperlinks
                    hl.Delete
                Next hl
            End If
        Next cell
    Next ws

    ' 対象のExcelファイルを上書き保存するため、SavedプロパティをFalseに設定する
    wb.Saved = False

    Application.DisplayAlerts = False

    ' 対象のExcelファイルを強制的に上書き保存する
    wb.SaveAs Filename:=filePath, FileFormat:=wb.FileFormat, AddToMru:=False

    ' 対象のExcelファイルを閉じる
    wb.Close SaveChanges:=False

    Application.DisplayAlerts = True

End Sub
```

上書き保存する際、ダイアログが表示されるため、DisplayAlertsをFALSEに設定し、ダイアログを表示させないようにし、保存完了後に再びDisplayAlertsをTRUEに設定し、他Excel操作時に影響が出ないように設定を戻しています。

## 最後に

この記事では、Excelファイルに設定されたハイパーリンクをVBAを用いて削除する方法を紹介しました。

Excelファイルの起動が遅かったり、ハイパーリンクを削除したい場合はぜひ参考にしてみてください。

 [ Previous Post](https://automationse.net/excel%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%BC%B7%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%EF%BC%9F%E5%A4%96%E9%83%A8%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%84) [Next Post ](https://automationse.net/apache-poi%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6java%E3%81%A7excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%97%E3%80%81%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96)

---

## Navigation

- Parent: [WordPress Import](https://automationse.net/wordpress-import.md)
- Previous: [Apache POIを使用してJavaでExcelファイルを操作し、アクティブシートのA1セルの値を読み取る方法](https://automationse.net/apache-poi%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6java%E3%81%A7excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%97%E3%80%81%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96.md)
- Next: [Excelのセキュリティ強化につながる？外部リンクやハイパーリンクを無効化するアドインの作成方法](https://automationse.net/excel%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%BC%B7%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%EF%BC%9F%E5%A4%96%E9%83%A8%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%84.md)
