クライブはバードウォッチャーであり、鳥の音の300以上のMP3ファイルを持っています。彼は、MP3ファイルの実際の名前(「cormorant.mp3」など)がリストされた単一の列を持つExcelワークシートを作成したいと考えています。彼は、これらの300ほどのセルのそれぞれから、物理的なMP3ファイルへのハイパーリンクを作成して、プレーヤーが鳥の鳴き声を開いて再生できるようにしたいと考えています。彼はハイパーリンクを個別に挿入できることを知っていますが、それは明らかに非常に面倒です。それで、彼はワークシートのMP3ファイル名に基づいてそのようなリンクを自動的に作成する方法があるかどうか疑問に思います。

この質問には、実際には2つの部分があります。ファイル名をExcelワークシートに取得し、鳥の鳴き声を再生できるようにMP3ファイルへのリンクを作成します。

まず、すべてのMP3ファイルがハードドライブの同じフォルダにあることを確認します。ファイルのリストを取得する方法は、_ExcelTips_の他の問題で説明されています。この_ExcelTips_ページにあるこれを行う方法のアイデアを確認することをお勧めします:

http://excelribbon.tips.net/T011144

名前がワークシートに含まれると(列Aにあると仮定します)、HYPERLINKワークシート関数を使用して実際のリンクを簡単にまとめることができます。たとえば、セルB1に次のように配置できます。

=HYPERLINK("C:\Documents\Birdsongs\" & A1)

これは、曲が配置されているフォルダーがC:\ Documents \ Birdsongs \であることを前提としています。パスが実際に異なる場合は、HYPERLINK関数を変更するだけです。

正しい数式がセルB1にあると、すべての正しいハイパーリンクを取得するために必要なセルの数だけコピーできます。

もちろん、HYPERLINK機能で利用する「表示テキスト」を指定することもできます。鳥のさえずりファイルが鳥の名前で始まり、.mp3で終わる場合は、次の方法で表示テキストをHYPERLINK関数に追加できます。

=HYPERLINK("C:\Documents\Birdsongs\" & A1, LEFT(A1, LEN(A1) - 4)

この使用法では、ファイル名から最後の4文字(ピリオドと「mp3」)を削除し、それを表示テキストとして使用します。

マクロアプローチを使用して(HYPERLINK関数を使用せずに)実際にハイパーリンクを作成する場合は、このヒントで前述したヒントのファイル名取得マクロから始めることをお勧めします。ファイル名をワークシートに入れるだけでなく、必要なハイパーリンクを作成するように変更できます。

Sub MakeHyperlinks()

Dim sPath As String     Dim sFile As String     Dim iRow As Integer

'specify directory to use - must end in "\"

sPath = "C:\Documents\Birdsongs\"



iRow = 0     sFile = Dir(sPath)

While sFile <> ""

iRow = iRow + 1         Sheet1.Cells(iRow,1) = sFile         sBird = Left(sFile, Len(sFile)-4)

ActiveSheet.Hyperlinks.Add Anchor:=Sheet1.Cells(iRow,1), _           Address:=sPath & sFile, TextToDisplay:=sBird         sFile = Dir     ' Get next filename     Wend End Sub

マクロルートを使用する場合は、現在のワークシートに何もないことを確認してください。マクロは非常に高速に実行され、書き込み先のセルにあるものをすべて消去します。完了すると、列Aにファイル名が表示され、列BにMP3ファイルへのハイパーリンクが表示されます。

ワークシートのハイパーリンクをクリックすると、ExcelがWebブラウザを起動し、MP3ファイルをロードします。次に、ブラウザがファイルを再生します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13127)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。