- ベストアンサー
PDFのハイパーリンクを自動的に変更したい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
最初の画面では、リンクは1ヶ所じゃないですか。 すみませんが、そこまで変更するなら、新しい質問を立てていただけますか。 (そうすれば新しい画像を貼れるので)
その他の回答 (2)
- SI299792
- ベストアンサー率47% (774/1618)
であれば、画像の様に、入力してください。 E1: フォルダをフルパスで C2: =HYPERLINK($E$1&"\"&INDEX(E:E,B2+1)&".pdf",INDEX(E:E,B2+1)) (\ はExcel では半角¥になります) (VBA 実行前は 0になります) 以下のVBA を実行してください。 E2以下にPDF ファイル名が出力されます。 PDF ファイルを追加、削除する毎に実行する必要があります。 Option Explicit ' Sub Macro1() Dim ROut As Long Dim FileName As String ' ROut = 2 FileName = Dir([E1] & "\*.pdf") Range("E2:F" & Rows.Count).ClearContents Application.ScreenUpdating = False ' Do While FileName > "" Cells(ROut, "E") = Replace(FileName, ".pdf", "") Cells(ROut, "F") = Val(FileName) ROut = ROut + 1 FileName = Dir Loop Range("E2:F" & ROut - 1).Sort Key1:=[F2] End Sub
補足
ご回答ありがとうございます。 申し訳ありません。最初の表の説明が不十分でした。 実際は、以下のようなものなのですが、それぞれINDEX(E:E,B2+1)の設定をどのようにすればよろしいでしょうか? ※B列のリストの数字は毎日変わり、不規則です。また、セルも飛び飛びになっています。 ホルダー内のPDFリストも実際は4桁以上の数字で、昇順に並んでいますが、下のような数字が続いていません。 B列 ホルダー内のPDF 9781 1010 6982 1020 1021 12345 1030 1050 1010 2030 6982 9781 以下400程リストあり
- SI299792
- ベストアンサー率47% (774/1618)
1 りんご.pdf 2 バナナ.pdf にリンクすればいいですか❓ PDF の一覧表はありますか❓ これらのPDF はこのワークブックと同じフォルダにあるとします。 画像の様にE2以下にpdf 一覧を作成します。 C2: =HYPERLINK(INDEX(E:E,B2+1)&".pdf") PDF 一覧表がない場合、以下のVBA で作成できます。 Option Explicit ' Sub Macro1() Dim ROut As Long Dim FileName As String ' ROut = 2 FileName = Dir(ThisWorkbook.Path & "\*.pdf") Range("E2:E" & Rows.Count).ClearContents Application.ScreenUpdating = False ' Do While FileName > "" Cells(ROut, "E") = Replace(FileName, ".pdf", "") Cells(ROut, "F") = Val(FileName) ROut = ROut + 1 FileName = Dir Loop Range("E2:F" & ROut - 1).Sort Key1:=[F2] End Sub
補足
早々にご提案頂きありがとうございます。 PDF の一覧表はありますか❓⇒PDF の一覧表はありません。 別のフォルダにPDFのみを保管してあります。ワークブックとは同じフォルダ内ではありません。この場合は、ご提案頂いたVBAになりますのでしょうか?コマンドのファイルネームを変更するだけで出来ますでしょうか?マクロの知識が乏しくてすみません。
補足
承知しました。二度手間で申し訳ありません。宜しくお願い致します。