Top > OOobbs2 > 124

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

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