• ベストアンサー

エクセルにファイルを添付したい

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 私も考えてみました。状況がはっきりしていないので、ある程度、こちらできめてしまいました。ファイル名自体は、何にしようが、そのブックの下位フォルダーのどこに入れようが別に問題はありません。そのブックの上位フォルダは、現在は探しません。 もっとも新しいpdfファイルを探すマクロです。 ファイルの日付は、ハイパーリンクのポップアップに入れました。ファイル名とは別です。 ただし、あまり、上のフォルダでファイルが多いと時間が掛かります。 ハイパーリンクは、一つしかないことを条件にして、それが書き換わります。 なお、Excel 2000 以下では、このマクロは、やってみないと分からないです。また、IE は、5.0 以上を条件としています。 '-------------------------------------------------- Sub NewHyperLinkChanging() 'ハイパーリンクを最新のファイルに書き換えるマクロ Dim r As Range Dim d As Date Dim Fname As String Dim f As Variant Dim Disp As String 'ハイパーリンクの一つに対して、最新のファイルに書き換えられる '日付は、ヒントに出てくる If ActiveSheet.Hyperlinks.Count = 0 Then   MsgBox "Hyperlink がありませんので、終了します。": Exit Sub Else   Set r = ActiveSheet.Hyperlinks(1).Range End If With Application.FileSearch   .NewSearch   .LookIn = ThisWorkbook.Path '親パス   .SearchSubFolders = True   .Filename = "*.pdf"  'なるべく頭出しを限定したほうがよい   '特徴のある語でもよい。例06*.pdf   .MatchTextExactly = False   .FileType = msoFileTypeAllFiles  If .Execute() > 0 Then          For Each f In .FoundFiles     If FileDateTime(f) > d Then      d = FileDateTime(f)      Fname = f     End If     Next f   Else     MsgBox "検索条件を満たすファイルはフォルダにはありません。"     Set r = Nothing     Exit Sub   End If End With      Disp = Mid$(Fname, InStrRev(Fname, "\") + 1)   With r.Hyperlinks(1)      .Address = Fname      .ScreenTip = Format(d, "yymmdd")      .TextToDisplay = Disp   End With   Set r = Nothing End Sub '--------------------------------------------------

hit117
質問者

お礼

丁寧な回答ありがとうございます。マクロで対応するしかないのですね。未知の領域ですがためしてみたいと思います。ありがとうございました。

関連するQ&A

  • エクセルに掛けたハイパーリンクについて

    例えば、Aがエクセル表を作成して、ハイパーリンクをかけたとします。 そのハイパーリンクは、Aの画像であったり、関連する文書であったり、そのエクセル表の入っている同じフォルダのものです。 このエクセル表だけをメールでBに送った場合、それを受け取ったBはハイパーリンクのかかっているセルをクリックしたとしたらパソコン画面に画像とか、関連する文書とかを表示することはできますか? やはり、Aは、Bに関連する画像、文書の入ってるファイル(フォルダごと)も一緒に送信しないと開けないのでしょうか? そもそも画像のアドレス設定がAのパソコンのファイルの住所設定になっているのでBは、開けないのでしょうか? 私の言ってること伝わったでしょうか?教えてください。お願いします。

  • エクセル2003でのハイパーリンク

    ファイル名の一覧で、フォルダ(実際のファイルの在るフォルダ、5個在ります)へのハイパーリンクをまとめて付けたいのです。以前、ファイル名毎にフォルダへのリンクを付けていた時は、問題無かったのですが、うっかりハイパーリンクの列を消してしまいました。フォルダ名は表に残っていますので、フォルダ名順に並び替え、一つハイパーリンクを付け、同フォルダのものに、それをコピーしました。その後ファイル名で並び替えると、ハイパーリンク出来ません。 ハイパーリンクを示す、手の表示が出ないものや、ハイパーリンク先が変わる行は出来ますが、同じリンク名が続くと出来ないようです。 よろしくお願いいたします。

  • Excelファイルなどのハイパーリンク

    こんばんは。 Vista 32bitです。 まだ何とか動いているので先になるかもしれませんが、パソコンを買い替えた時に心配があります。 現在、Word文書やExcelファイルをドキュメントに保存しています(USBメモリなどにもコピーをとっています)。ドキュメントはDドライブに任意の名前を付けたフォルダに移動しております。 それらのファイルの中で、いくつか他ファイル(ドキュメント内の別ファイル)へのハイパーリンクを設定しているものがあります。 たとえば、「A」という名前で保存したExcelファイルには問題文を入力してあり、任意のセルに「解答」と入力し、そこをクリックすると答えや手順を入力してあるファイル「B」が開くみたいな感じです。 新しいパソコンで、コンピューター名やユーザー名を今使っているパソコンとは変えてしまった場合、これらのハイパーリンクは有効ですか? 以前、理解が足りず、ハイパーリンク設定後にファイルを新しく作ったフォルダの中に入れて整理してしまって、ハイパーリンクがエラーで無効になったことがあり、意味が分からなかったことがあります。その都度ハイパーリンクを設定し直していました…。 ですからコンピューター名や、ドキュメントをDに移す時に作る任意のフォルダ名などを変更してしまうとどうなのかが心配です。 コピーしてあるUSBメモリなどを差して使うのではなく、新しいパソコンのDのドキュメントに入れてどうなのかが知りたいです。 わかる方ありましたらよろしくお願いします。

  • VBAで複数のフォルダから最新のファイルを検索してコピーするには?

    はじめましてこんにちは!エクセルを少しいじり始めた者です。 エクセルのVBAで複数のフォルダから最新更新日のファイルを検索して特定シートのセルD1からF20までをコピーして貼り付けるにはどのようにコードを書いたらいいのでしょうか?具体的に申し上げますと、ある特定のフォルダの中に複数のフォルダが入っており、複数のフォルダにはそれぞれ同じ名前の後に日付が入っていて、さらにその中には同じファイル名の後に日付が付いているファイルがあります。(「日本」フォルダの中に「日本200401」、「日本200402」、「日本200403」フォルダが入っていてさらにそれぞれのフォルダ内には「全国200401」」、「全国200402」、「全国200403」みたいな感じでフォルダ名と同じ日付が付いたファイルが入っています。) その複数のフォルダの中から最新更新日時のファイルだけを開いて特定のシートからデータをコピーして貼り付けるにはどのようにコードを記述したら良いのでしょうか?

  • エクセルで作ったファイルが取り出せない。

    エクセル2000で作成したファイルをマイドキュメントに保存したのですが、再びそのファイル名を入力して開こうとすると、 アクセスできません。フォルダの保存されているボリュームが使用できないか、またはパスワードで保護されている可能性があります。 という文書が出てきます。 パスワードで保護した覚えはありません。 たてよこに広がった表を作ってました。 これが原因でしょうか? すごく困っています。 必ずどこかにデータは残っていると聞いたことがありますが、最悪、作り直ししようと思っています。 アドバイスお願いします。

  • エクセルの2つのファイルをマッチングさせるのは?

    あまり詳しくないので、説明が上手くできませんがよろしくおねがいします。 エクセルの表があるんですが、そのファイルが毎週更新されて戻ってきます。その最新のファイルは先週までのファイルのどこが更新されたかをチェックできる機能がエクセルにあると聞いたことがあるのですが、そのような機能はありますか? 漠然とした説明で申し訳ありませんが、よろしくお願いします。

  • 開いている~Excelファイル名の表示が消える

    Excelファイルを起動すると 起動したファイルと頭に~が付いたファイルが エクスプローラーに表示されると思います。 しかし、時々、~が付いたファイルの表示が 消えてしまうことがあります。 例えば、エクスプローラーのフォルダの中に sample.xlsm というファイルが1個だけ表示されている時、 sample.xlsm をダブルクリックして開くと sample.xlsm ~sample.xlsm の2つが表示されます。(添付図参照) しかし、開いているのに、時々、 ~sample.xlsm が表示されなくなって sample.xlsm だけしか表示されていないことがあります。 F5キーで最新の状態に更新しても、 一つ上のフォルダに移動して再びこのフォルダに戻っても 表示されません。 Excelファイルを一度閉じて開き直せばまた表示されますが しばらくするといつのまにか消えてしまいます。 なぜでしょうか。 開いている時は常に~sample.xlsmが表示されるようにするには、 どのようにすればよいでしょうか。 (Windows10,Excel2016)

  • EXCELのハイパーリンクの編集を効率よくするには

    初心者です。 マクロはわからないので、「CTRL+K」で出した「ハイパーリンクの編集」画面の操作を教えてください。 エクセル表で、大量のセルに別々のハイパーリンクを貼る作業中です。 関連するPDFがあるフォルダにそれぞれ飛ばしています。 その目的フォルダが深い階層にあって、「ハイパーリンクの編集」画面で辿るのが大変です。 なのに、次のセルの「ハイパーリンクの編集」で、また初め(エクセル表がある場所)から辿らないといけません。 「ハイパーリンクの編集」で前回の状態をひきつぐ方法はないでしょうか。 よろしくお願いします。

  • 今開いているエクセルのファイル名をセルに取り込みたい

    日付(yymmdd.txt)の付いた名前のテキストファイルを 自動的にエクセルにCSVで取り込む様に、マクロを組みました。なので、このファイル名に日付が付いているので、この日付をどうにかしてエクセルに取り込みたいのですが、方法をご存知無いですか? TXTとエクセルは同じフォルダに入れて管理する予定なので、エクセルファイルの居るフォルダ内のファイル名を取り込むのでも構いません。 どなたか良い案ありませんか? よろしくおねがいします。

  • エクセルが開きません

    フォルダの中に、ワードやエクセルの文書を保存しているのですが、 エクセルだけが、開いたと思ったら、ウィンドウだけで、表がなく、一面グレーです。ファイル自体はPCの中にあり、保存しているファイル全てが、アイコンからではひらきません。「ファイルを開く」からだったら開きました。