none
画像ファイル貼り付け CanvasItems.AddPicture について RRS feed

  • 質問

  • Dim doc As Document
    Dim c As Shape
    Set doc = Application.Documents.Add
    Set c = doc.Shapes.AddCanvas(Left:=100, Top:=75, Width:=50, Height:=50)
    c.CanvasItems.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=75, Width:=50, Height:=50
    doc.SaveAs2 "ファイル名.docx"
    doc.Close


    実行エラー'5'
    プロシージャの呼び出し、または引数が不正です。

    画像ファイルをDocument上の指定位置に貼り付けようとしています。
    5行目のAddPictureのところでエラーになります。
    以前Office2013 のときは実行できていたのに、Office2016でこのようなエラーが出て
    原因及び対処方法がわかりません。どなたか教えてください。
    2017年11月6日 5:51

回答

  • こっちの方も嘆いておられます。
    https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-msoffice_custom/canvasitemsaddpicture-runtimeerror-5/0e3c82c7-1646-45cd-9e6c-362774d1c77b?auth=1

    私も同じでした( Microsoft 365 バージョン1710)。引数の書き方を変えて試してみましたがだめでした。ほんとうにどうなっているのだ、バンプ! お手々がいてーよ いてーよ...

    テスト用マクロに細かいことをいうのもなんですが、
    c.CanvasItems.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=75, Width:=50, Height:=50
    c.CanvasItems.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=7, Top:=7, Width:=30, Height:=30
    を比べてみると、違いが分かるだす。

    試してみたのは、InlineShapes.AddPictureと Shapes.AddPictureですが、どちらもWord 2016で実行できます。

    Sub directImage()
       Dim doc As Document
       Set doc = Application.Documents.Add
       doc.Shapes.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, _
           SaveWithDocument:=True, Left:=80, Top:=150, Width:=50, Height:=50
       doc.SaveAs2 "ファイル名.docx"
       doc.Close
    End Sub

    メニューに [ファイル] - [フィードバック] - 「問題点、改善点の報告」というのがありますが...
    (どうかお頼み申します.)

    • 回答としてマーク bolbox 2017年11月12日 11:50
    2017年11月11日 10:46

すべての返信

  • こっちの方も嘆いておられます。
    https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-msoffice_custom/canvasitemsaddpicture-runtimeerror-5/0e3c82c7-1646-45cd-9e6c-362774d1c77b?auth=1

    私も同じでした( Microsoft 365 バージョン1710)。引数の書き方を変えて試してみましたがだめでした。ほんとうにどうなっているのだ、バンプ! お手々がいてーよ いてーよ...

    テスト用マクロに細かいことをいうのもなんですが、
    c.CanvasItems.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=75, Width:=50, Height:=50
    c.CanvasItems.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=7, Top:=7, Width:=30, Height:=30
    を比べてみると、違いが分かるだす。

    試してみたのは、InlineShapes.AddPictureと Shapes.AddPictureですが、どちらもWord 2016で実行できます。

    Sub directImage()
       Dim doc As Document
       Set doc = Application.Documents.Add
       doc.Shapes.AddPicture FileName:="C:\画像ファイル.jpg", LinkToFile:=False, _
           SaveWithDocument:=True, Left:=80, Top:=150, Width:=50, Height:=50
       doc.SaveAs2 "ファイル名.docx"
       doc.Close
    End Sub

    メニューに [ファイル] - [フィードバック] - 「問題点、改善点の報告」というのがありますが...
    (どうかお頼み申します.)

    • 回答としてマーク bolbox 2017年11月12日 11:50
    2017年11月11日 10:46
  • doc.Shapes.AddPicture によってできました。 ありがとうございました。
    2017年11月12日 11:51