質問: エクセルマクロによるハイパーリンクの方法 はじめて投稿します。 エクセルマクロを始めたばかりですが、よろしくお願いします。 fileフォルダ内にマクロ.xlsとdataフォルダがあり、 dataフォルダ内には複数のpdfファイルがあります。 マクロ.xlsのセルa1~a10に適当な英数字の文字列(例えばa123,b243,c072...など)が書かれていて dataフォルダ内にはセルa1~a10に書かれている文字列に少し文字が追加された名前のpdfファイル (例えばセルの文字列が"a123"なら"a123(ok).pdf")があります。 これをマクロを使ってa1~a10の文字列にハイパーリンクさせて、 セルに書かれている文字列をクリックして開きたいのですがどうすればよいでしょうか? a1~a10に書かれている文字列を変数cellnameに代入し、 pdfファイルをcellnameにワイルドカードを使って変数pdfnameに代入できずにつまずいています...。 どなたかご解答の程宜しくお願いいたします。
回答: > このプログラムで一応ハイパーリンクできました。 よかったですね。 (^^) > セルの文字数は9~15文字でランダムに書かれています。 > pdfファイル名="cell(i,1)"と*と& ".pdf"を使って完全一致させる。 dataフォルダ内にあるファイルは、a列のセルに書かれている不定長の 文字列に少し文字が追加された名前のpdfファイル。――ということで したら、 if left(targetfile, 4) = cells(i, 1) then の部分を if left(targetfile, len(cells(i, 1))) = cells(i, 1) then と置き換えればよいでしょう。 ファイル名の左(先頭)から「セルの文字列と同じ長さ分」が同じなら、 という、leftワークシート関数の考え方です。