質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

2353閲覧

VBScriptでエクセルに画像を張り付ける、という処理を作りたいです。。

aza

総合スコア14

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2018/09/10 01:17

VBScriptでエクセルに画像を張り付ける、という処理を作りたいです。。
以下のように作ったのですが、「オブジェクトでサポートされていないプロパティまたはメソッドです。」と表示されます。
「 oXlsApp.Shapes.AddPicture "\XXXXXXX\Profiles$\user\Desktop\test.jpg", True, True, 100, 100, 70, 70」

の部分がうまくいっていないとおもうのですが、教えていただけないでしょうか

VBScript

1' Excel起動 2Set oXlsApp = CreateObject("Excel.Application") 3 ' --Excel表示(falseにすると非表示にできる) 4 oXlsApp.Application.Visible = true 5 ' --3秒待つ 6 WScript.Sleep(3000) 7 ' --ブックを開く 8 oXlsApp.Application.Workbooks.Open !開きたいExcel! 9 ' --3秒待つ 10 WScript.Sleep(3000) 11 ' --画像を張り付ける 12 oXlsApp.Shapes.AddPicture "\XXXXXXX\Profiles$\user\Desktop\test.jpg", True, True, 100, 100, 70, 70 13

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おそらく「どのシートに貼り付けるか」の指定がないからでしょう。
こんな感じの流れにすればよいと思います。
(Excel操作の部分のみ抜粋しています。未検証)

VBA

1' --ブックを開く 2Set bk = oXlsApp.Application.Workbooks.Open !開きたいExcel! 3 4' --対象シート 5Set sh = bk.Worksheets("シート名") 6 7' --画像を張り付ける 8sh.Shapes.AddPicture "\XXXXXXX\Profiles$\user\Desktop\test.jpg", True, True, 100, 100, 70, 70

投稿2018/09/10 01:32

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aza

2018/09/10 01:52

早速のご返答ありがとうございます!! できました! 本当に困っていて、助かりました! ありがとうございますm(__)m
aza

2018/09/10 09:57

因みにですが、セル位置を指定して画像を張り付けることは可能でしょうか。 Set sheet = XlsApp.Worksheets(!シート名!) Set cells = sheet.Range("C3") cells.Shapes.AddPicture !張り付ける画像!, True, True, -1, -1, -1, -1
ttyp03

2018/09/10 10:03 編集

たぶんこんな感じになるのではないでしょうか。 Set r = sh.Range("C3") ' cellsはエラーになるので名称変更してあります sh.Shapes.AddPicture "ファイル名", True, True, r.Left, r.Top, -1, -1
aza

2018/09/10 23:32

ご回答ありがとうございます! 教えて頂いた式を実行しましたが、「オブジェクトがありません」とエラーになりました。 r.Left, r.Topは本来はセルではなく、数字で座標軸を指定しているため、VBSが認識してくれないのでしょうか。
ttyp03

2018/09/10 23:38

sheetをshに変更しましたが、それの影響ではないでしょうか。 sheetなのかshなのか統一してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問