エクセルのマクロでPDFを呼び出す方法
- エクセルのマクロでPDFのデータを呼び出す方法を教えてください。条件として、エクセル2010を使用し、PDFとエクセルシートが同じフォルダ内にあり、PDFの名前は1234.pdf、フォルダ名は5678、エクセルシート名はtatai.xlsです。
- 現在、エクセルのマクロでPDFのデータを呼び出す設定を試していますが、うまくいきません。可能な限り詳細に設定方法と条件を教えていただけると助かります。
- エクセルのマクロによるPDFの呼び出し方についてご教示いただけますか?使用するバージョンはエクセル2010で、PDFの名前は1234.pdf、フォルダ名は5678、エクセルシート名はtatai.xlsです。詳しい設定方法とハッシュタグを教えていただけるとありがたいです。
- ベストアンサー
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 マクロでエクセルのセルから、PDFのデータを呼び出したいのですが、どのような設定をすればいいでしょうか?いろいろなサイトでみた設定を試してみているのですが、うまくいきません。ひょっとしたらPDFの名前を入力する部分か、データの置き場所等が違うのかとも思っています。できましたら下記の条件で、PDFの名前やデータの置き場所も入力して、教えていただけるとありがたいです。なお当方はマクロの素人なので、詳しく教えていただけるとありがたいです。 条件 1,エクセルは2010です。 2,PDF、エクセルシートともにデスクトップ上の1同じフォルダ内にあります。 3,PDFの名前は1234.pdfです。 4、フォルダ名は5678です。 5,エクセルシート名はtatai.xlsです。 6,ハイパーリンクはデザインの関係で使えません。 7,できあがったら基本的にUSB等で持ち運びたいです。 *またPDFについてはなんらかの関連付け等が必要なのでしょうか?
- yu3841
- お礼率42% (16/38)
- オフィス系ソフト
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2の回答者です。 >マクロのsheet1に下記のように書き込み、エクセルのsheet1の:セルに1234.pdf >と入力しました。 これ自体は、間違いないはずです。ファイル名が何個でも、何千個でも、ワークブックに余計なWebメニューなど出て来ません。私は、同じようなものを作ってみましたから。 #2で書いたコードは、[イベント・ドリブン型マクロ]といいます。 補足に書かれたコードは、その機能を殺してしまいました。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) '←Private Sub ~の行は決まり文句です。ダブルクリックで反応する特別な呪文のようなものです。 ~ End Sub で、ひとまとまりで、貼り付ける場所は、ワークシートのタブを右クリックすると、コードの表示と出てきますから、それをクリックして、開いた場所に、そのまま貼り付けるわけです。ダブルクリックすると、Target という所に、そのアクティブセルの情報(PDFのファイル名)が入ってくるわけです。
その他の回答 (2)
- WindFaller
- ベストアンサー率57% (465/803)
こんばんは。 PDF 名の入力は必要ありませんが、 シートのセルにリストが書いてあることが条件です。 要するに、ハイパーリンクと同じようなものですが、ハイパーリンクを使わないだけです。 マウスのダブルクリックで、PDFファイルが開くはずです。 このコードは、シートモジュール(Sheet1, Sheet2など)に登録(貼り付け)しますが、ワークシートにPDFのファイル名が書かれていること。(例:1234.pdf) PDF閲覧ツールは何でも良いけれども、拡張子から起動できること。 私の記憶では、Windows98では、動かないはずです。XP以上 「デスクトップ上の1同じフォルダ内」-つまり、PDFファイルと、ワークブックが同じフォルダー内なら、以下のPrivate Const の登録は不要です。違う場合は、以下のように、例 "D:\5678\"と入れます。 'Option Explicit 'Private Const pdfPATH As String = "D:\5678\" Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Target.Value Like "*.pdf" Then Exit Sub If Dir(pdfPATH & Target.Value) = "" Then MsgBox "File Not Found": Exit Sub With CreateObject("Wscript.Shell") .Run "" & pdfPATH & Target.Value & "", 3 End With End Sub
補足
詳しい回答ありがとうございます。 さっそく試してみたのですが、オブジェクトが必要です。と出てうまくいきません。 やったのは、マクロのsheet1に下記のように書き込み、エクセルのsheet1の:セルに1234.pdf と入力しました。 Sub Macro5() ' ' Macro5 Macro 'Private Sub macro4Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Target.Value Like "*.pdf" Then Exit Sub If Dir(pdfPATH & Target.Value) = "" Then MsgBox "File Not Found": Exit Sub With CreateObject("Wscript.Shell") .Run "" & pdfPATH & Target.Value & "", 3 End With ' End Sub コード名の書き方がどこか間違っているのでしょうか、それともシートのセルにリストが書いてあることが条件というのを私が間違ってとらえてしまっているのでしょうか?なおマウスのダブルクリックで、PDFファイルが開かないのですが? 初歩的な質問で申し訳ありませんが、ご回答お願いいたします。
- oshienaiyogoo
- ベストアンサー率0% (0/2)
> PDFのデータを呼び出したいのですが 「呼び出す」とは? シートに挿入?外部アプリケーションを開く? > マクロの素人なので、詳しく 要約すると > 自分の仕事で使うマクロを組みたいが、勉強する気はない > 誰か無償で作ってくれ こういう事ですね。 わざわざマクロを組まなくても、エクスプローラーなどでダブルクリックしたらいいんじゃないですか。 > 6,ハイパーリンクはデザインの関係で使えません。 ハイパーリンクを組んで、表示文字列を短く変更しておけば、 ボタンよりコンパクトにも作れますが、いかがですか。 オートシェイプにハイパーリンクを設定して、立体表示しておけば、 コマンドボタンと同様に見せて使う事も可能ですが、いかがですか。
補足
>要約すると 自分の仕事で使うマクロを組みたいが、勉強する気はない 誰か無償で作ってくれ こういう事ですね。 結果的にはそうなっているかもしれませんが、いろいろと試して困り果てたうえでの結果です。しかしとげのある言い方ですね。不愉快です。 >わざわざマクロを組まなくても、エクスプローラーなどでダブルクリックしたらいいんじゃないですか。 質問者には質問者の都合や事情があるとおもいます。質問者のニーズにこたえる気がないのなら、回答しなければいいのではないでしょうか? まあ最低の回答者ですね。
関連するQ&A
- エクセル2007 マクロについて教えてください
エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロによるハイパーリンクの方法
はじめて投稿します。 エクセルマクロを始めたばかりですが、よろしくお願いします。 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に代入できずにつまずいています…。 どなたかご解答の程宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル マクロについて
エクセルのマクロについて教えてください。 下記のようなマクロを実行した場合 どのような条件でフォルダ内のファイルを オープンしていくのでしょうか。 ファイルの名前や更新時間などでしょうか? また、名前や更新時間順でファイルを開いていくように するにはどうしたらよろしいでしょうか。 ご回答よろしくお願い致します。 以下マクロ 'オブジェクトを設定する Set ファイルシステム = CreateObject("Scripting.FileSystemObject") '読み込むファイルを1個指定する あるブック = Application.GetOpenFilename("Excelファイル(*.xls),*.xls") '親フォルダーを取得する Set 親フォルダー = ファイルシステム.GetFile(あるブック).ParentFolder '親フォルダー内の全ファイルに以下の操作をする For Each ファイル In 親フォルダー.Files 'ファイルを開く Workbooks.Open ファイル.Path 'ブック名を記憶する ブック名 = ActiveWorkbook.Name '開いたファイルの伝票(NO)のシートを「全データ」シートの後ろにコピーする ActiveWorkbook.Worksheets("伝票(NO)").Copy After:=ThisWorkbook.Worksheets("全データ") '開いたファイルを閉じる Workbooks(ブック名).Close Next 以上
- ベストアンサー
- その他MS Office製品
- エクセルマクロでマクロをアクティブにしたくない
エクセルのマクロをひとつの「マクロA」という名前で、データーファイルからセルに入っている内容などを呼び出しながらまくろAのシートにデーターを貼り付けながら作業をしています。 Workbooks.Open Filename:= _ "C:\Documents and Settings\owner\My Documents\マクロ.xls" Application.Run "マクロ.xls!マクロ" と記載すると、マクロXLSがアクティブになってしまいます。 その為記載に'ActiveWindow.WindowState = xlMinimized と入れたりするのですが、アクティブになるシートがマクロ以外にうまくいかないことがあるのです。 データーシートは、毎回データーが変わる関係で、DATA.xlsがAのときやBのときが発生します。
- ベストアンサー
- Excel(エクセル)
- エクセルのマクロのコードを教えてください
エクセルマクロについて教えてください。 エクセルバージョンは2013です。 現在定例業務の改善を行っております。手作業で実施している作業をマクロで自動化したくコードを教えてください。〈作業〉 1台帳.xlsのA~F列でデータを入力してデータベースを作成しています。 2そのデータを社内他部署送付用の定型フォーマットに転記して所定のフォルダに名前を付けて保存しています。定型フォーマットのC1に台帳.xlsのB列のデータ、D4にC列のデータ、F5にE列のデータを転記して台帳.xlsのA列のデータをファイル名に追加して所定のフォルダにほかんします。(ファイル名例「案件+A列のデータ.xls」) ※定型フォーマットも所定のフォーマットフォルダで管理しています。いつもそれをコピーして使用しています。 3保存したファイルの保管場所のファイルパスを台帳.xlsのG列に転記してハイパーリンクにする こんな作業になります。台帳.xlsのデータは不定期で増えていくので1件ずつ実行できればと思っています。実行済みと未実行の判別はどこかの列の「済」なんかつけて条件判別できればと思っています。 よろしければ教えてください。 (1)所定のフォルダは仮でマイドキュメントの「案件保管フォルダ」 (2)定型フォーマットはマイドキュメント直下においてある (3)定型フォーマットはの「案件詳細」シートに転記 (4)案件は文字列としてプラスA列のセルのデータを使用して「案件保管フォルダ」に保管しています。
- 締切済み
- Excel(エクセル)
- エクセルマクロ 次のようなプログラム教えてください
エクセルのマクロで、次のようなことをしたいと思っていますが、 素人でわかりません。 教えていただけますか。 ---------------------------------- o動かしているファイルをa.xlsとします。 a.xlsは、3行目からA列に名前、B列~D列にデータが入っていて、 各行ごとのファイルを作りたい。(行数は決まっていない) なお、セルE1にある文字が入っている。 o各ファイルは、原紙としてgensi.xlsとして保存されているファイルに、 a.xlsのB~D列のものを入力したものを作りたい。 (B~D列のデータは、gensi.xlsのそれぞれセルC7・C8・C9に入力する) gensi.xlsは、a.xlsと同じフォルダにあります。 o作成場所は、「C:\date」の中に、セルE1にある文字のフォルダ、A列に ある名前のフォルダに作りたい。 (セルE1の文字のフォルダは、マクロを初めて実施するときは無いと思います が、2回目からは存在すると思います。A列の名前のフォルダはマクロ実施時 にはありません。作成するファイル名は、A列の名前と同じ(フォルダ名と同じ).xls にします。) o実行ボタンを3つ作って、1つは今選択されている行のフォルダ・ファイルを作る。 2つ目は数字を入力させて、今選択されている行から入力した数字の行までを一括 で作成する。 3つ目は、3行目から現在入力されている行すべてを一括で作成する。 ------------------------------- 上記のことをしたいと思っています。 よろしくお願いします。 駄文ですみません。 なお、エクセルは古いバージョンでエクセル2000です。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロのコードを隠す
とあるExcel2003で開けるxlsファイルを貰いました。 セルに値を入力すると、セルの背景の色が変わります。 そういうマクロを組んでいるんだと思ったのですが、 シートに対して「コードを表示する」で見ても何も書かれていません。 プロジェクト欄にはこのシートと[ThisWorkbook]しかなく、 [ThisWorkbook]にも何も書かれていません。 組んだマクロのコードを何かして隠しているのでしょうか? それともエクセルの設定でそのようなことが可能なのでしょうか。
- ベストアンサー
- オフィス系ソフト
- Excelシート内への一括リンク
あるフォルダ[folder]内にある大量のファイル[file1.xls,file2.xls,…file30.xls]を Excelワークシートの各セルにフォルダ内のファイル名(拡張子なし)を挿入し、且つそのセル内のファイル名に対応するファイルへのハイパーリンクを一括で張るといったような処理をするにはどのようにしたらよろしいのでしょうか?そのような処理のできるマクロやVBAをお分かりになる方がいらっしゃいましたら教えてください。
- 締切済み
- オフィス系ソフト
- ハイパーリンク設定をマクロに記録したい(エクセル2000)
フォルダ内のファイルの一覧をエクセルで作り、目次のようにハイパーリンクでジャンプするようにします。1フォルダ、1シートとします。 エクセルの文字列を選択して、ハイパーリンク設定画面で、リンク先のフォルダを指定するところまでをマクロに記録し、ショートカットキーに登録して作業を早くしたいのです。 ところが、リンク設定が完了するまでマクロ記録の終了ができません。フォルダ指定までのマクロでないと他の文字列に使えません。 リンク設定の途中でマクロ記録を終了する方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
すいません。リンクできました。私の単純な入力ミスだったようです。 素人の初歩的な質問にも丁寧にお答えいただき、ありがとうございました。
補足
>で、ひとまとまりで、貼り付ける場所は、ワークシートのタブを右クリックすると、コードの表示と出てきますから、それをクリックして、開いた場所に、そのまま貼り付けるわけです。ダブルクリックすると、Target という所に、そのアクティブセルの情報(PDFのファイル名)が入ってくるわけです 何度も申し訳ありません。上記のようにしたのですが、コンパイルエラー変数が定義されていません。 と出てしまうのですが?