• ベストアンサー

Excelのセルにpdfファイルをリンクしたい

タイトルの通り、エクセルのセルにpdfファイルをリンクしたいのですが、いくつかの規制があり、困っています。 1、リンクを貼るセルには「*12345」と表示させ、   「12345.pdf」へリンクさせたい。 2、CDへコピーさせてもリンクが有効であるようにしたい。 3、上記1、2を300件ほど行うので出来るだけ操作を簡略化したい。 以上のことで分かる方がいらっしゃいましたらご教授下さい。 マクロを使っても構わないのですが、当方マクロに不慣れなために詳しい説明をお願いします。

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

  • ベストアンサー
回答No.4

すいません。先ほど回答した内容に不備がありました。 以下の内容を参照してください。 Option Explicit Sub test() Dim wbdata As Workbook Dim wsdata As Worksheet Dim ptthis As String Dim rowmax As Integer Dim fname As Range Set wbdata = Workbooks("Book1.XLS") Set wsdata = wbdata.Worksheets("Sheet1") ptthis = wbdata.Path rowmax = 0 Do Until IsEmpty(wsdata.Cells(1.1).Offset(rowmax, 0).Value) Set fname = wsdata.Cells(1.1).Offset(rowmax, 0) wsdata.Hyperlinks.Add Anchor:=fname, Address:=ptthis & "\" & Right(fname.Value, 5) & ".pdf" rowmax = rowmax + 1 Loop End Sub

burgess_shale
質問者

お礼

kaekaekaedeさん、回答ありがとうございました。 おかげでリンク作業が軽減されました。

その他の回答 (4)

noname#29107
noname#29107
回答No.5

質問者さんのお望みは、先に「???12345」などを手入力しておいて、リンクが貼れるようにするというのでよろしいですか?それでしたら#3さんの回答でいいと思います。 ただ、最後にCD-Rに焼いてということですと、 wsdata.Hyperlinks.Add Anchor:=fname, Address:=ptthis & "\" & Right(fname.Value, 5) & ".pdf" のところを wsdata.Hyperlinks.Add Anchor:=fname, Address:=".\" & Right(fname.Value, 5) & ".pdf" に変更すべきかと思います。そうすれば階層が変わらない限りCD-Rに移動してもうまくいくと思います。 もし、「???12345」はまだ入力してないというのでしたら、次のソースも良いかもしれません。 Sub testlst() Dim MyFl As String, MyPth As String Dim ix As Long ix = 1 MyPth = ActiveWorkbook.Path & "\" MyFl = Dir(MyPth & "*.pdf") Do While MyFl <> ""   ActiveSheet.Hyperlinks.Add Anchor:=Cells(ix, 1), Address:=".\" & MyFl, _     TextToDisplay:=Left(MyFl, Len(MyFl) - 4)   ix = ix + 1   MyFl = Dir Loop End Sub 自動的にブックと同一のフォルダーの中のPDFファイルを書き出していきます。「????」の部分は考慮していませんが。

burgess_shale
質問者

お礼

rebellionさん、回答ありがとうございました。 「????」に関しては、フリーソフトを利用してファイル名を一括で揃えることで解決しようと思います。どうもありがとうございました。

回答No.3

ファイル名:Book1.XLS、シート名:Sheet1の場合以下のでlinkをはれませんか? 注意: ・ブック名、シート名が異なる場合は Set wbdata = Workbooks("Book1.XLS") Set wsdata = wbdata.Worksheets("Sheet1")のBook1.XLS、Sheet1をそれぞれ任意の名前に変更して下さい。 ・pdfファイルと、Excelファイルを同一フォルダーに保存して下さい。 Option Explicit Sub test() Dim wbdata As Workbook Dim wsdata As Worksheet Dim ptthis As String Dim rowmax As Integer Dim fname As Range Set wbdata = Workbooks("Book1.XLS") Set wsdata = wbdata.Worksheets("Sheet1") ptthis = wbdata.Path rowmax = 0 Do Until IsEmpty(wsdata.Cells(1.1).Offset(rowmax, 0).Value) rowmax = rowmax + 1 Set fname = wsdata.Cells(rowmax, 1) wsdata.Hyperlinks.Add Anchor:=fname, Address:=ptthis & "\" & Right(fname.Value, 5) & ".pdf" Loop End Sub

noname#29107
noname#29107
回答No.2

もう少し条件を具体的に示して頂かないと、何を答えてよいのやら判断できません。 とりあえず想像でアドバイスを・・・ 1)12345.pdfというファイル名が分かっているとします。A2セルに入力されているとします。PDFの保存されているフォルダーは、"D:\pdfdata"であるとします。 この時、B2セルに =HYPERLINK("D:\pdfdata\"&A1,"*"&LEFT(A1,LEN(A1)-4)) とするとB2セルにハイパーリンクが付きます。 2)CDにコピーしてもというのは、CD-Rに移動したら自動的にリンクを張り直すということでしたら無理でしょう。パスが決まっているなら、1)と同様にして、CD用のリンクを作ればよいと思います。 3)ファイル名の一覧があれば、上記の応用で出来ますが、PDFの入っているフォルダーの構造は複雑なんでしょうか?一つのフォルダーに入っているなら一覧を作るのも簡単でしょう。 マクロについては、どこから説明する必要があるのかがちょっと分かりません。マクロをどうやってブックで動かせるようにするのかから、説明する必要があるのかどうか?

burgess_shale
質問者

補足

rebellionさん、回答ありがとうございます。 質問をより具体的に示しますと、 まず、セルA1に「???12345」と表示させ(???は半角、全角を含む任意の文字列)、 セルA1をクリックするとExcelデータと同じ階層にあるフォルダの中にある12345.pdfファイルが開くようにしたいのです。 最終的にExcelファイルとpdfファイルをCD-Rに移動したいのですが、移動した後もリンクが有効であるようにする方法を求めています。 マクロについては、Alt + F11で開いて、標準モジュールの挿入でプログラムを編集し、Alt + Qで閉じる。更新する場合にはマクロを開いてF5を押す。この程度です。宜しくお願いします。

回答No.1

ハイパーリンクを利用するでは、いけないのですか? 表示文字列を*12345とし、参照先のファイル名を指定すると一応、開くことは出来ますよ。

burgess_shale
質問者

お礼

kaekaekaedeさん、回答ありがとうございます。 質問に不備があったようで、申し訳なく思っています。 *12345というのは、*に任意の文字列があるという意味で使ったのですが、説明が足りなかったようです。 ハイパーリンクは使えるのですが、使いこなせていないようで困っています。

関連するQ&A

  • Excelからpdfへのリンク

    Excelのセルにpdfへのリンクを設定することにより、Excelから、pdfファイルを起動したいのですが、うまくいきません。そのセルをクリックすると、一瞬アクロバット画面がでた後消えてしまいます。Web上ではうまく行くようですが、ダウンロードして実行するとうまくいきません。うまくいかせる方法はあるのでしょうか。

  • エクセルでpdfにリンクを張り、pdfファイルを立ち上げようとすると警告が出ます。

    いつもお世話になっております。 今日はエクセルについて質問があります。 使っているOSはMacOS 10.3.9 エクセルはExcel X for Macです。 さて、今、論文のタイトルとその論文の中身のpdfファイルを リンクするという仕事をしています。 リンクは、セルを右クリックして「ハイパーリンク」というところから しています。 その後、そのpdfファイルを開こうとし、そのセルをクリックすると 下記のような警告が毎回でます。 「file///~.pdfを開いています。 ファイルには、お使いのコンピュータに 影響を与えるウィルスが含まれていることがあります。 目的のファイルが、信頼できる製造元により 作成されたものであることを確認してください。 このファイルを開きますか」 というものです。キャンセルの方を選択するようになっているので 毎回OKをクリックしなおさないとファイルが開けない状態です。 この警告文を削除し、ダイレクトにpdfファイルを開くように できますでしょうか。 稚拙な文章で大変わかりづらいかと存じますが 何卒よろしくお願い申し上げます。

  • excelでセル結合したセルにリンクを張りたい

    タイトルの通りですが book1に商品名だけのデータが入力されています book2の表で 2つのセル結合したセルが 連続で40件あり その1つのセルに book1の商品名をリンク張り付けし オートフィルでコピーしたいのですが うまくいきません (1つ目のをコピーしてしまい 同じデータが入ってしまいます なにかよい方法はありますか??? 関数を使用したほうが よいでしょうか

  • エクセルシートにPDFファイルを添付

    パソコン初心者です。 説明不足かもしれませんが宜しくお願いいたします。 使用ソフト:エクセル2003 <他の方が作成したエクセルデータについて> エクセルシートに「PDFのアイコン(?)」が貼ってあり、それをクリックするとPDFファイルが開きます。 いただいたデータはエクセルファイルのみでリンク先(?)のPDFファイルは同封されておりません。 これってどのような操作をすればできるのでしょうか。 リンク?PDFファイルを埋め込んでいる?よく分かりませんがご教授ください。

  • エクセルでPDFリンクを大量にしたいです。

    エクセルでPDFファイルにハイパーリンクを作成したいです。 PDFファイルがたくさんあり、ひとつずつ右クリックして「ハイパーリンク」の作成とするととても時間がかかってしまいます。 何か良い方法はありませんか? エクセルのセルにA,B,Cと夫々入っていたら AのセルをクリックするとAという名前のPDFを開くことができる。 といったものを作成したいです。PDFは数百件あります。

  • ビルダーでpdfファイルにリンクする方法

    ビルダーを使ってHPを作っています。PDFファイルをリンクを繋げたいのですが 「セキュリティーの関係でリンクできません」と出てきてしまい どうしてもpdfにリンクできません。一度画面コピーをしてワードに入れて~と面倒な操作をしているのですが 教えていただけますでしょうか。

  • EXCELからPDF特定ページへのリンクの張り方

    EXCELのあるセルからPDFの特定のページにリンクを張りたいのですがどうすればよいのでしょうか。 EXCELのセル選択後、「挿入」→「ハイパーリンク」、「ハイパーリンクの挿入」画面でファイルを選ぶとリンクは張れるのですが先頭ページに張られます。 OSはXp、EXCELは2003です。 よろしくお願いします。

  • 離れたセルのリンク貼り付けを行うためのマクロについて

    ブック(1)のシート(1)にある複数の離れたセル(B2,D2,C3,F3,B4:F4)をコピーし、別ブックのシート(1)のセル(B2,D2,C3,F3,B4:F4)へリンク貼り付けを実行するためのマクロを教えてください。 なお、ブック(1)とブック(2)はイントラの共有フォルダ上の同一階層に置いてあります。 このブック(1)と同一フォーマットのブックが複数存在し、上記同様にブック(2)の離れたセルをコピーして別ブックのシート(2)のセルへリンク貼り付け。 続いて、ブック(3)の同じセルをコピーし別ブックのシート(3)へリンク貼り付けと言うように、同じセルをコピーし別シートの同じセルへリンク貼り付けの作業を繰り返し行います。 まったく同じ位置のセルをコピー&リンク貼り付けを繰り返し行いたいので、マクロを使って自動実行させたいと思っています。 離れたセルのリンク貼り付けは出来ないのかもしれないですが、アドバイスを頂けると助かります。 宜しくお願い致します。

  • エクセルのセルを分けたい!!

    こんにちは。 表題の件で質問です。 単語帳を今エクセルで作成してまして、 「一行目 from school   学校から」(本当はもっと続いています) …というのをメモ帳で作成後、エクセルに貼り付けたところ、 全部A欄のところに入ってしまいました。 コピーするときにそれぞれで選べればよかったのですが、 個別にコピーするととてつもなく時間がかかってしまうため、 なくなくAのところに全部コピーしてしまいました。 上記のようなものを 「一行目」「from school」「学校から」 と「エクセル上」で3つのセルにわけることは可能でしょうか? 当方パソコンに全然詳しくない為申し訳ありませんが、 宜しくお願い致します。

  • エクセルで他のファイルへのリンクが切れてしまう

    エクセル2016で表の品名一覧表の品名が入ったセルに別フォルダに入っている当該品の説明書(pdf)にリンクを張って品名セルのクリックで当該品のpdfファイルが参照できるようにしているのですが、かなりの頻度、確率でリンクが切れてしまいます。 NETで調べてみたら原因はエクセルのバグ、との情報もあるのですが何とか回避する方法は無いのでしょうか? また、この現象を回避するリンクの張り方があれば教えてください。

専門家に質問してみよう