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

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

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

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

Q&A

1回答

10690閲覧

Excel VBA 特定のフォルダ内の画像をセルに表示する

Seiya_Rr

総合スコア6

VBA

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

0グッド

0クリップ

投稿2017/05/22 01:48

Excelのセル内にVBAで特定のフォルダ内の画像を貼り4コママンガを生成するプログラミングを作成しています。
画像を貼る機能を実装中に以下のエラーメッセージが発生しました。

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

実行時エラー'1004'
PicturesクラスのInsertプロパティを取得できません。

###前提・実現したいこと
yahoo知恵袋やその他サイトでエラーの原因を調べましたが
当方初心者なものでして理由がよくわかりませんでした

エラーが発生しないように変更したいです

###該当のソースコード
すいません全文載せます
Sub 四コマ()

Dim i As Integer
Dim j As Integer
Dim MANGA As String
Dim M As String
Dim k As Integer
Dim PP
Dim Count As Integer
Dim Count_Y As IntegerE
Dim Count1 As Integer
Dim objFileSys
Dim objFolder
Dim objFile

PP = ActiveWorkbook.Path Set objFileSys = CreateObject("Scripting.FileSystemObject") Set objFolder = objFileSys.GetFolder(PP) Count = objFolder.Files.Count Columns("A").ColumnWidth = 40 Count_Y = 4

M = Range("B2").Formula

Range("A4").Value = M

k = 1 For j = 0 To Count_Y - 1 For i = 1 To 1 If k < Count Then Rows(j * 2 + 6).RowHeight = 12 Rows(j * 2 + 7).RowHeight = 180 MANGA = PP & M & "\の4コママンガ" & k & ".jpg" Cells(j * 2 + 7, i).Select __**ActiveSheet.Pictures.Insert(MANGA).Select**__ ←エラーが発生する場所 Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Width = 100 Cells(j * 2 + 6, i).Value = k & "コマ目" k = k + 1 Else Exit Sub End If Next i

Next j

End Sub

###試したこと
要求する画像がフォルダ内に無い場合に起こるエラーだと調べている最中に見たので
画像の名前に注目して変更なども行いましたが無理でした

###補足情報(言語/FW/ツール等のバージョンなど)
VBA Excel2010

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

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

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

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

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

hatena19

2017/05/23 02:40

コードは、コードタグで囲ってください。コードを選択して、</>ボタンをおせば自動でタグが挿入されます。
guest

回答1

0

ActiveSheet.Pictures.Insert(MANGA).Select

単純に、MANGA に格納されているファイルパスが間違っているだけではないですか。

Debug.Print MANGA 'デバッグ用コード ActiveSheet.Pictures.Insert(MANGA).Select

上記のようにデバッグ用コードを追加して、実行してみて、イミディエイトウィンドウに出力されたファイルパスが正しいかどうか確認してみてください。

M = Range("B2").Formula MANGA = PP & M & "\の4コママンガ" & k & ".jpg"

Formula は数式ですので、M には数式が入ります。となると、どう考えても MANGA には正しいファイルパスが入るとは考えられません。

投稿2017/05/22 05:30

hatena19

総合スコア33620

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問