Top > OOobbs3 > 111

OOobbs3/111 Edit

  • サマリ: 画像ファイルの挿入が上手く出来ません
  • 環境: Calc
  • 状態: 解決
  • 投稿者: クロッピ?
  • 投稿日: 2013-04-18 (木) 23:18:51

質問 Edit

以下のコードで画像ファイルを連続で挿入したいのですが、 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

回答 Edit

  • なんのダイアログが表示されるのでしょうか?どんなエラーが出るのでしょうか? -- はにゃ? 2013-04-18 (木) 23:33:56
  • ダイアログは画像ファイルの選択のダイアログが出ます。エラーはBASICランタイムエラー例外が発生しました。Type:com.sun.star.lang.IllegalArgumentException Message:sequence element is not assignable by given value!です。 -- クロッピ 2013-04-19 (金) 00:23:14
  • このコマンドでファイル選択ダイアログが表示されるのは、ファイルのアドレスが間違っている、もしくは指定されていない時のようです。args2 の値を調べてみてください。dim 文はループの外に置かないと再定義でおかしくなることがあります。 -- はにゃ? 2013-04-19 (金) 23:09:51
  • 多忙の為やっと今日修正出来ました。dim文をループの外に置く事で無事画像の貼付けが出来るようになりました。いつもありがとうございます。厚かましいとは思いますが、マクロが動かない間クリップボードを経由して一枚づつ貼り付けていたのですが、マクロで貼り付けると少し画像が粗いようです。高画質にするオプションとかはあるのでしょうか? -- クロッピ 2013-05-05 (日) 10:22:23

感想,コメント,メモ Edit

  • 画像ファイルを大きめに保存して、貼り付けた後に画像ファイルのサイズ指定をする事によって希望の画質を得ることが出来ました。 -- クロッピ 2013-05-12 (日) 00:54:51


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