• ベストアンサー

EXCELのVBAから画像ファイルを指定してPhotoEditorを起動したい。

Excel2002のVBA(Ver6.0)を使っています。指定した画像ファイル(セル内に文字列データとして格納)をPhotoEditorを起動させて表示させるのが目的です。Shell関数ではPhotoEditorは起動できるのですが、ファイルが指定できませんでした。GetObject関数が使用できるではと思い、試してみましたがうまくいきません。  どなたか解決方法をお教えください。(ちなみにユーザーフォームでの表示はできています。)

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

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.1

shell関数でファイルを指定する場合です。ダブルクォートで括る必要が有るようです。 Shell ("C:\Program Files\Common Files\Microsoft Shared\PhotoEd\PHOTOED.EXE " & Chr(34) & Range("a1").Text & Chr(34)) a1のレンジに入っているパス、ファイル名で開く場合は以上の記載で出来ました。

choriver01
質問者

お礼

Te-Sho様 ありがとうございました。おかげさまでうまくいきました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBAで範囲指定の方法をおしえてください

    エクセルVBAで範囲指定の方法をおしえてください こんばんは。 以下のようにデータがあるとします。 222 111 333 555 888 999 454 665 222 111の文字列を含むセルから888の文字列を含むセルまでをVBAで範囲指定したいのですが 方法がわかりません。 エクセルに読み込むファイルによって目的の情報の位置が変わるため、文字列を基に範囲指定したいのです。 本当に困っていますよろしくお願いします。

  • VBAによるセル内の画像の位置調整

    Excel2007のVBAからShell関数で外部実行プログラムを起動します。 外部実行プログラムは画像データをクリップボードへデータを出力後、自動で終了します。 Shell関数とWin32APIを使用して外部プログラムを実行し、プログラムが終了するまで待つように処理して、 クリップボードから指定する複数の結合したセルへ画像を貼り付ける事は出来たのですが、 画像がセルの左上を基準に貼り付けられます。 この画像を、セルの中央に位置調整したいのですが可能なのでしょうか? また画像の回転(1度単位)は可能でしょうか? '指定セルへクリップボードの内容を貼り付け ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("H53") 画像ファイルなどを読み込む訳ではないため、画像データ自体に名前がありません。 手動で位置調整は可能ですが、自動化出来ないかと色々調べ試してみたのですが、思う様に実現できません。 セルの結合は5行、列は結合していません。 どなたか御存知でしたら回答下さい。

  • <ACCESS VBA -> EXCEL>getObjectしたEXCELファイルのシートを指定したい

    ACCESSのVBAマクロでEXCELファイルを指定してデータを取得しようとしています。 GetObject("C:\ファイル名.xls", "Excel.Sheet") でEXCELファイルを取得するまでは良いのですが、そのファイルのシートを指定する方法がわかりません。 基本かもしれませんが、ご教示をお願いします。

  • EXCEL VBA で データを集計したい。

    よろしくお願いします。 添付の資料の通り、データを格納しているシートがあります。 項目は、  ・処理日  ・科目  ・D列  ・E列  ・F列 とあったとし、抽出条件は、  ・処理日の範囲指定  ・科目の指定 としたいと思っています。 VBAで処理したいのですが、まずはEXCEL関数のDSUMを使用し、添付の通り指定して、 抽出されることを確認しました。 これと同様の抽出をVBAで行いたく、VBAでワークシート関数を使用するために、  Dim x As Variant x = Application.WorksheetFunction.DSum(Range(Cells(3, "A"), Cells(15, "E")), "D列", Range(Cells(3, "O"), Cells(4, "Q"))) とし、正しく値を取得することができました。 ですが、条件を指定する部分を、セルで指定するのではなく、例えば  "処理日" >= 20151001 and "処理日" <= 20151002 and "科目" = "01" のように、式をVBAで生成して作成したいのですが、方法はありませんでしょうか? ACCESSのDSUM関数のような記述ができませんでしょうか? お手数をおかけします、よろしくお願いいたします。

  • EXCEL VBAで違うファイルを参照したいです

    EXCEL VBAで困ってます アクティブなシートのセル番地"B1"に"外部"と値が入力されていて 同じアクティブなシートのセル番地"B2"に"仕様"と値が入力されています これをネットワーク先にあるエクセルファイルの中に該当する値が入力されているか を調べたいのですが、ロジックをどう書けば良いのかわかりませんので教えてください 例えばネットワーク先のファイルは仮に以下とします \\EXCEL\VBA\MACRO\Reference.xls このファイル内に上記の値が格納されています ただ、外部については"内部/外部"と入力されており、"仕様"は同じです ですので完全一致と部分一致(?)で比較をし、それぞれ"C1""C2"に合致すれば"○"、 無いもしく違えば"×"と値を返したいのです 尚且つ、ファイル内を指定するだけで、セル番地やシート名まで指定せずに比較したいのです どうかご教授頂きますようお願い致します

  • excelでVBAでユーザーフォームのリストBOX

    下記VBAの作成の仕方を教えていただけないでしょうか。 やりたいこと (1)sheet2のA1セル~A5セルまでの間の間をユーザーフォームのリストボックスに登録する (2)sheet1のA1セルをクリックすると、ユーザーフォームが起動し、任意のリストをクリックすると、 その値がA1セルに格納され。ユーザーフォームが終了する。 ※コマンドボタンは使わずにお願いします。なおexcel2000です。

  • 複数の画像をVBAでエクセルに貼り付ける方法

    VBA初心者です。 多数のJPG画像が指定のフォルダ内に保存してあります。 JPG画像には、img_001.jpg、img_002.jpg・・・というように連番の名前が記載されています。 EXCELファイルのA列のセルに入力されているランダムな数値に対応した画像が 同じ行のB列に表示するようにしたいと考えています。 (たとえば、A1のセルに1を入力したら、B1のセルにimg_001.jpgが表示される) このような操作を、VBAを使用して作成することはできるのでしょうか。

  • エクセルの関数で画像ファイルを開く

    エクセル97をつかってます 任意の画像「ファイル名「99999999.tif」(99999999は任意)」があり そのファイル名をA列のセルに表示し、B列のハイパーリンク =HYPERLINK("C:\Users\フォルダ名\" & A2 & ".tif) をクリックすると開くようにしております。 ところが 開きたい画像名が「99999999-1.tif」というファイル名が まざっており、この場合”ファイルがありません”となり開くことができません。 (VBAでやれば簡単ですが、エクセル関数でやらなくてはならいので困っております) どちらでも開く関数がくめないでしょうか? 詳しいかた教えて下さい。

  • エクセルVBAで…

    VBAからshell関数を使って、 FTPを起動して、 サーバーからテキストファイル(txt)を、 ローカルへ落としたいのですが… 落とすとEUCコードになってしまいます… FTPのオプションとかでshift-jisとかに直せるのでしょうか? よろしくお願いします(o*。_。)oペコッ

  • ExcelのVBAで他のファイルを起動する時の指定

    ExcelのVBAで他のファイルを起動する時の指定 ExcelのVBAで他のファイルを起動する時の指定の仕方で、 例えば同ディレクトリや一つ下の階層のファイルとかの場合、 フルパス以外で簡単に指定する方法はあるのでしょうか? 現在フルパスにて記述しているのですが、 ファイルを移動したりした時に、またそちらでのフルパスに 修正しないといけなくなるので手間がかかって困っています。 何かいい方法はないでしょうか? Excelは2000を使っています。

このQ&Aのポイント
  • スマートフォンで受信したメールをエプソンプリンターEP-705Aで印刷する方法について教えてください。
  • スマホのメールをEPSONのプリンターで印刷する手順を教えてください。
  • エプソンのプリンターEP-705Aを使用して、スマートフォンのメールを印刷する方法について詳しく教えてください。
回答を見る

専門家に質問してみよう