Top > OOobbs3 > 111

** [[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

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes