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

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

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

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

2141閲覧

excelのセルに、貼付先をセルの値で判定して、画像を自動で貼り付けリサイズしたい

japanosaka12345

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/10/02 04:20

前提・実現したいこと

excelのセルに入っている値を参照して、そのセルの下に事前に指定しているフォルダ内の
同じ名前の画像(.jpg)をセルの大きさに合わせてリサイズしたい。

発生している問題・エラーメッセージ

オブジェクト変数または with ブロック変数が設定されていません。

該当のソースコード

excel VBA

1Sub sample() 2Dim objShape As Object 3Dim strPath As String, strFileName As String 4Dim strImgName As String 5 6strPath = "c:¥画像データ¥" 7strFileName = Dir(strPath & "*.jpg") 8 9 Do Until Len(strFileName) = 0 10 strImgName = Left(strFileName, Len(strFileName) - 4) 11 12 Cells.Find(What:=strImgName).Activate 13 ActiveCell.Offset(1, 0).Activate 14 15 Set objShape = ActiveSheet.Shapes.AddPicture( _ 16 Filename:=strPath & strFileName, _ 17 LinkToFile:=False, _ 18 SaveWithDocument:=True, _ 19 Left:=ActiveCell.Left, _ 20 Top:=ActiveCell.Top, _ 21 Width:=ActiveCell.Width, _ 22 Height:=ActiveCell.Height) 23 24 strFileName = Dir() 25 Loop 26 27End Sub 28 29

試したこと

strPath = "c:¥画像データ¥
は元々 c:¥temp¥ で動いていました。

補足情報(FW/ツールのバージョンなど)

excel2007使用

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

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

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

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

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

m.ts10806

2020/10/02 04:36

¥ ←これ全角ですけど、本件解決したとしてまともに動くのでしょうか。
japanosaka12345

2020/10/02 06:07

半角にするとスラッシュに変換されてしまったので念のため…
m.ts10806

2020/10/02 06:14

間違いではないですよ。 むしろ全角のまま提示されているほうが問題です。 提示された情報が全てです。
m.ts10806

2020/10/02 06:20

質問本文編集してください。
meg_

2020/10/02 06:33 編集

> strPath = "c:¥画像データ¥ > は元々 c:¥temp¥ で動いていました。 上記はパスを変えたら動かなくなった、ということが言いたいのでしょうか? > オブジェクト変数または with ブロック変数が設定されていません。 このエラーはどの行で発生しているのでしょうか?
guest

回答2

0

質問者様のコードを少し修正したら上手く動きましたが、
こちらでは如何でしょうか。

VBA

1Sub sample() 2 Dim objShape As Object 3 Dim strPath As String, strFileName As String 4 Dim strImgName As String 5 strPath = "c:\画像データ\" 6 strFileName = Dir(strPath & "*.jpg") 7 Cells(1, 1).Select 8 Do Until Len(strFileName) = 0 9 strImgName = Left(strFileName, Len(strFileName) - 4) 10 ActiveCell.Offset(1, 0).Activate 11 Set objShape = ActiveSheet.Shapes.AddPicture( _ 12 Filename:=strPath & strFileName, _ 13 LinkToFile:=False, _ 14 SaveWithDocument:=True, _ 15 Left:=ActiveCell.Left, _ 16 Top:=ActiveCell.Top, _ 17 Width:=ActiveCell.Width, _ 18 Height:=ActiveCell.Height) 19 strFileName = Dir() 20 Loop 21End Sub

投稿2020/10/02 08:24

編集2020/10/02 08:27
tosi

総合スコア553

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

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

0

画像ファイルサイズアップ防止 VBA
こちらで同じような処理回答しているけど?

投稿2020/10/02 05:47

kuma_kuma_

総合スコア2506

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問