• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel vbaでハイパーリンクを設定するには)

Excel VBAでハイパーリンクを設定する方法

このQ&Aのポイント
  • Excel VBAを使用して、「SAISYO」フォルダ内のすべてのファイルのパスをハイパーリンク形式で書き出す方法を教えてください。
  • 質問者はExcel2000を使用しており、「SAISYO」フォルダ内には「TUGI」と「ファイル1」があります。「TUGI」フォルダ内には「SONOTUGI」と「ファイル2」があります。Sheet1にあるボタンをクリックすると、「SAISYO」フォルダ内のすべてのファイルのパスをA1,A2,A3...というセルにハイパーリンク形式で書き込みたいとのことです。
  • 具体的なコードや手順がわからないため、フォルダの中のフォルダの中のファイルのパスを取得し、ハイパーリンク形式で書き込む方法を教えてほしいという質問です。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

ハイパーリンクの設定はマクロの記録で出来るかと思いますけど・・・ こんな感じで如何でしょ ListUp を実行して下さい Function GetSubDir(strTrgDir As String, Optional rRow As Integer) As Boolean   Dim objFs As Object   Dim objDir As Object   Dim objFile As Object      On Error GoTo errHnd   Set objFs = CreateObject("Scripting.FileSystemObject")   Set objDir = objFs.Getfolder(strTrgDir)   Set objFile = objDir.Files   For Each objFile In objDir.Files     rRow = rRow + 1     'Debug.Print "rRow = " & rRow, "file = " & objFile.Path     Worksheets("sheet1").Hyperlinks.Add _     Anchor:=Cells(rRow, 1), _     Address:=objFile.Path, _     TextToDisplay:=objFile.Path   Next      For Each objDir In objDir.subfolders     Call GetSubDir(objDir.Path, rRow) '←サブフォルダを見に行きます   Next      Set objFs = Nothing   Set objDir = Nothing   GetSubDir = True   Exit Function errHnd:   Debug.Print Err.Number, Err.Description End Function Sub ListUp()   MsgBox IIf(GetSubDir("c:\saisyo") = True, "成功", "失敗") End Sub

mnakayoshi
質問者

お礼

出来ました。 私などには書けないすばらしいコードに感激です。 nicotinismさんのような完璧なコードは書けるようにがんばります。 本当に助かりました。ありがとうございました。

関連するQ&A