** [[OOobbs3/111]] [#b442672e] -''サマリ'': 画像ファイルの挿入が上手く出来ません -''環境'': Calc -''状態'': 未解決 -''状態'': 解決 -''投稿者'': [[クロッピ]] -''投稿日'': 2013-04-18 (木) 23:18:51 *** 質問 [#u1b084fe] 以下のコードで画像ファイルを連続で挿入したいのですが、 1枚目は入ります、2枚目はダイアログが出て選択の後入りますが、 コードのdispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 0, args2()) この位置でエラーが出て進みません。解決方法無いですか? sub Jan_Paste dim document as object dim dispatcher as object document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") oDoc = ThisComponent oController = oDoc.CurrentController() oSheet = oDoc.Sheets().getByName("Print") AA = 0 Label2: oNum = oSheet.getCellbyPosition(7,AA)'行番号1~ Hinban = oSheet.getCellbyPosition(13,AA)'品番 IF oNum.Value = 0 Then Exit Sub End IF IF oNum.Value = 1 Then oRow = 0 oCol = 2 Goto Label1 End IF IF oNum.Value Mod 2 = 0 Then'偶数 IF oNum.Value Mod 6 = 1 Then oRow = 3 oCol = oCol + 5 - 1 Else oRow = 3 End IF Else IF oNum.Value Mod 6 = 1 Then oRow = 0 oCol = oCol + 5 - 1 Else oRow = 0 oCol = oCol + 5 End IF End IF Label1: 'msgbox oRow & "," & oCol oController.select (oSheet.getCellByPosition(oRow,oCol))'貼り付ける位置 dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = "FileName" args2(0).Value = ConvertToURL("file:///E:/Users/Kenji/Documents/solnoire/RavelPrint/JAN13/" & Hinban.String & ".emf") 'args2(1).Name = "FilterName" 'args2(1).Value = "EMF - Enhanced Metafile" 'args2(2).Name = "AsLink" 'args2(2).Value = false dispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 0, args2()) AA = AA + 1 Goto Label2 end sub *** 回答 [#g597ec94] - なんのダイアログが表示されるのでしょうか?どんなエラーが出るのでしょうか? -- はにゃ? &new{2013-04-18 (木) 23:33:56}; - ダイアログは画像ファイルの選択のダイアログが出ます。エラーはBASICランタイムエラー例外が発生しました。Type:com.sun.star.lang.IllegalArgumentException Message:sequence element is not assignable by given value!です。 -- クロッピ &new{2013-04-19 (金) 00:23:14}; - このコマンドでファイル選択ダイアログが表示されるのは、ファイルのアドレスが間違っている、もしくは指定されていない時のようです。args2 の値を調べてみてください。dim 文はループの外に置かないと再定義でおかしくなることがあります。 -- はにゃ? &new{2013-04-19 (金) 23:09:51}; - 多忙の為やっと今日修正出来ました。dim文をループの外に置く事で無事画像の貼付けが出来るようになりました。いつもありがとうございます。厚かましいとは思いますが、マクロが動かない間クリップボードを経由して一枚づつ貼り付けていたのですが、マクロで貼り付けると少し画像が粗いようです。高画質にするオプションとかはあるのでしょうか? -- クロッピ &new{2013-05-05 (日) 10:22:23}; #comment *** 感想,コメント,メモ [#i8c1e950] - 画像ファイルを大きめに保存して、貼り付けた後に画像ファイルのサイズ指定をする事によって希望の画質を得ることが出来ました。 -- クロッピ &new{2013-05-12 (日) 00:54:51}; #comment |