** [[OOobbs2/124]] [#wfbd1169] -''サマリ'': OLEオブジェクト 選択、編集解除、未選択状態の変更 -''環境'': Writer -''状態'': 解決 -''投稿者'': [[セルダン]] -''投稿日'': 2008-08-11 (月) 17:35:24 *** 質問 [#o785a7a4] 度々の質問すみません。OLEオブジェクトに関する操作のサンプル、ドキュメントを見つけられずに困っています。 OOobbs2/120-OOobbs2/121でOLEオブジェクトを選択状態にしてから マクロで編集状態にすることは出来ました。 ありがとうございました。 マクロでOLEオブジェクトを選択状態にする方法が分かりません。 また、編集状態になったOLEオブジェクトの編集状態を解除、選択状態を解除して未選択状態(文字カーソルになった状態)にする方法が分かりません。 御教示よろしくお願いいたします。 *** 回答 [#cb057478] - まず、選択状態にするには DrawPage 上の Shape をドキュメントコントローラの select メソッドに指定します。 Sub SelectOLEObject1 oDoc = ThisComponent oController = oDoc.getCurrentController() oDrawPage = oDoc.getDrawPage() oController.select( oDrawPage.getByIndex(0) ) End Sub -- はにゃ? &new{2008-08-12 (火) 10:00:05}; - 編集状態は doVerb で -3 (Hide) を指定すると解除できます。また、選択の解除はテキストを選択することで行えます。 Sub UnEditOLE HideEditUI SelectText End Sub Sub HideEditUI oDoc = ThisComponent oEmbeded = oDoc.getEmbeddedObjects().getByIndex(0) oExtEmbedded = oEmbeded.ExtendedControlOverEmbeddedObject() oExtEmbedded.doVerb(-3) End Sub Sub SelectText oDoc = ThisComponent oController = oDoc.getCurrentController() oText = oDoc.getText() oController.select( oText.getEnd() ) End Sub -- はにゃ? &new{2008-08-12 (火) 12:23:14}; - 有難う御座いました。Basicでは出来ました。 -- セルダン &new{2008-08-18 (月) 15:22:06}; #comment *** 感想,コメント,メモ [#ye64e44b] #comment |