Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


185 / 73290 ←次へ | 前へ→

【78734】Re:ファルダ内の画像を任意のセルに貼り付ける方法
発言  β  - 17/1/11(水) 12:47 -

引用なし
パスワード
   ▼VBA勉強中 さん:

まず、質問されている部分。

>2つとも CreateObjectを使われていることから画像とファイルを操作できるように
>指定してしているのかな?といった認識です。合っていますか?

そうではありません。
VBAコードを書く際に、エクセルオリジナル機能だけで処理できればいいのですが
エクセルとは別のプログラム(外部プログラム)の機能を使いたいという場合があります。

そういった場合、その外部プログラムを読みこんで、VBAから利用できるように
しなければいけません。 
それが CreateObject("定められたプログラム呼び出し文字列") です。

"WScript.Shell" は、調べられた通り、実に様々な機能を提供してくれます。
今回使ったのは、その中の SpecialFolders("特殊フォルダ指定文字列") です。

たとえば デスクトップ のパス、vista以降は c:\Users\xxxxx\DeskTop ですね。
この xxxxx は PCのWindowsログインID ですから、実行するPC毎に異なります。
また、Users というフォルダ以降、DeskTop に至るまでのパス経路も、Vista以降、
『たまたま』そういった経路になっているだけで、XP時代は、全く別物でした。
ということは、今後のWindowsバージョンアップに伴って、このパス経路そのものも
変わる可能性があります。

なので、コード内で固定せず、WScript.Shellプログラムに対して、現在のバージョンの
実行PCの環境にふさわしいパス文字列をくださいね と依頼して、その文字列を
取得しています。

"Scripting.Dictinary" は、一般に ディクショナリーといわれる機能で
文字通り 『辞書』。辞書には『見出し語』と『内容』が登録されていますね。
今回は、辞書に 抽出済み画像ファイル名を見出し語として登録しておき、
それが、すでに使われたかどうか(Existsメソッド)チェックしています。
(『内容』は、今回不要なので、いずれも True をセットしています)

追加で説明のあった件も含めて、処理コードについては、今から説明を読んでみて
取り掛かります。

52 hits

【78726】ファルダ内の画像を任意のセルに貼り付ける方法 VBA勉強中 17/1/10(火) 17:11 質問[未読]
【78727】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/10(火) 19:30 発言[未読]
【78730】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/10(火) 20:07 発言[未読]
【78731】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/10(火) 20:33 発言[未読]
【78732】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 10:58 発言[未読]
【78734】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/11(水) 12:47 発言[未読]
【78736】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 13:54 お礼[未読]
【78733】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 12:02 発言[未読]
【78735】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/11(水) 13:48 発言[未読]
【78737】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 14:34 発言[未読]
【78738】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/11(水) 15:25 発言[未読]
【78739】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 15:58 発言[未読]
【78741】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/11(水) 17:32 発言[未読]
【78742】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/12(木) 10:00 お礼[未読]
【78740】Re:ファルダ内の画像を任意のセルに貼り付... VBA勉強中 17/1/11(水) 17:23 お礼[未読]
【78728】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/10(火) 19:36 発言[未読]
【78729】Re:ファルダ内の画像を任意のセルに貼り付... β 17/1/10(火) 19:45 発言[未読]

185 / 73290 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free