• ベストアンサー

エクセルのVBA

お世話になります。 エクセルのVBAで,PDFを開くよう組んでいます。以下がそのVBAです。 CreateObject("Shell.Application").ShellExecute "C:\Users\コンピュータ名\Desktop\フォルダ名\ファイル名.pdf" このエクセルとPDFを別のパソコンに移すと,リンクが切れてPDFが開かなくなってしまいます。 どのようにすれば,別のパソコンに移してもそのまま開くことができますか。パワポなど,ほかのソフトも同様に,リンクが切れてしまいますので,ご教授願います。

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

  • ベストアンサー
  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

こちらが参考になるかと。 http://www.moug.net/tech/exvba/0060052.html

参考URL:
http://www.moug.net/tech/exvba/0060052.html

関連するQ&A

  • エクセルVBAでPDFやJPGファイルを開閉する

    エクセルでPDFやJPGファイルを開くことは下記のコマンドで できたのですが開いたファイルを閉じる方法がわかりません。 開くのはとても簡単でしたが。 CreateObject("Shell.Application").ShellExecute XPATH & JPGNAME

  • エクセルVBAのデータ連動

    エクセルのVBAで困っています。 デスクトップ上に「システム」というフォルダがあり,その中にエクセルとパワポのデータが入っています。 エクセルのVBAでパワポのスライドショーが始まるように設定したいのですが,フォルダごと他のパソコンに移すと,リンクが切れてしまい,設定しなおさないといけません。 どのようにすれば他のパソコンでもそのまま使えるようになりますか。 よろしくお願いします。

  • VBで「.tif」または「.pdf」形式のファイル印刷

    VBで「.tif」または「.pdf」形式のファイルを一度に複数印刷したいのですが、何かよい方法はないでしょうか。 一応、 fname = "ここにファイルのパスと名前" CreateObject("shell.application").shellexecute fname でファイルを開くようにしたのですが、ここから先が分かりません…。 よろしくお願いします。

  • ShellExecute でショートカットを開く

    Visual Basic 6.0 コマンドボタンでリンク先のファイルを開くプログラムを作成しています。 コマンドボタンクリック時に、下記ステートメントを入れているのですが リンク先が、ショートカットの場合エラーして開けません。(見つかりませんのエラー) リンク先全てを開くことは出来ないのでしょうか? すみませんがご教授願います。 CreateObject("Shell.Application").ShellExecute C:\AAA 'AAA = ショートカット名

  • エクセルVBAで指定フォルダ内の選択ファイル名の取得

    お世話になります。 エクセルVBA昨日から始めた初心者です。 いま、 Private Sub CommandButton1_Click() Dim Shell, myPath Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "\\hk001a24\va\data\ツール") If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path Set Shell = Nothing Set myPath = Nothing End Sub というの作成したのですが、 これだとフォルダの選択しか出来ませんでした。 \\hk001a24\va\data\ツールの下にあるファイルを選択出来て、その選択したファイル名をVBA取得して保持できる ようにしたいのですが・・・ 急いでいるのでここで質問させて頂きました。 よろしくお願いします。

  • ShellExecuteってなんで関数?

    ファイルとかを開く時に使うShellExecuteって何故関数なのですか? Sub test() Dim ファイル名 As String ファイル名 = "C:\Test用テキストファイル.txt" CreateObject("Shell.Application").ShellExecute ファイル名 End Sub このようなコードでファイルを開いていますが、関数って戻り値がある場合に使うのですよね? http://msdn.microsoft.com/ja-jp/library/cc422072.aspx をみたらShellExecuteは関数との事でした。 ずっとメソッドだと思ってました。

  • vbaで「休止状態」にしたい

    vista、オフィス2003です。 以前の質問関連ですが http://okwave.jp/qa4909102.html vbaで休止状態にしたいです。 で、http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/technic.htm から 「シャットダウンのダイアログが出るタイプ。スタートメニューから終了するのと同じです」 Set Win =CreateObject("Shell.Application") Win.ShutdownWindows はできるのですが サスペンド(スタンバイ) Set Win = CreateObject("Shell.Application") Win.Suspend は何も起こりません。 スタンバイ機能がvistaにないからでしょうか? vistaでスタンバイにする方法がわかる方、 教えてください。 よろしくお願いします。

  • VBAで既存のパワポのファイルを開くには?

    アクセスやエクセルからVBAで既存のパワポのファイルを開くには? 参照設定をして、 Sub test() Dim App As PowerPoint.Application Dim MyFileName As String Set App = CreateObject("PowerPoint.Application") MyFileName = CurrentProject.Path & "サンプル.ppt" App.Visible = True Set App = Nothing End Sub を実行すると、パワポの空のアプリケーション開きますが肝心のファイルが開きません。 開く方法を教えてください。

  • エクセル2010のVBAを使ってバックアップ

    エクセル2010のVBAを使ってバックアップを取れる仕組を作っています。 Sub backup() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile "C:\data\*.xls", "C:\back\" Set FSO = Nothing End Sub 実際にバックアップを取りたい元データはマイドキュメントにあります。 また、複数のパソコンで実行したいのですが、 C:\Documents and Settings\ログインユーザー名\MyDocuments\ このログインユーザー名がバラバラです。 データ元のパスはどのように取得すれば良いでしょうか? 教えて下さい。

  • Excel2003VBAからIE64bitを制御

    Excel2003 VBAから、 CreateObject("InternetExplorer.application")でIEを起動できますが、 XP64bitの場合、IE32bitが起動します。 XP64bitには、IEが32bit版と64bit版が入っています。 Excel2003 VBAから、IE64bitを起動できるのでしょうか? Excel2003 VBAのVB6.0は32bitなので、 そもそも64bitソフトを制御できないものなのでしょうか? IE64bitを起動させるだけなら、Shellとフルパスでできますが、 objIEにオブジェクトとして格納できないので、制御ができません。 ヒントでも構いませんので、ご教授いただけると幸いです。

専門家に質問してみよう