Top > OOobbs2 > 162

OOobbs2/162 Edit

  • サマリ: DRAWページ内オブジェクト(四角形)にテキストを入力したい。
  • 環境: Draw
  • 状態: 解決
  • 投稿者: wingman?
  • 投稿日: 2009-01-20 (火) 19:47:55

質問 Edit

DRAWにて既に描画している四角形オブジェクトに対して、 ダイアログウインドウ作成し、テキストボックス内に入力した文字を、 既存描画オブジェクトの四角形にテキストを渡して、描画させたいの ですが・・・

ここで、既に描画されてるオブジェクト(四角形)を選択したいのですが、 この方法がわかりません。

Calcでの選択の場合は、ページ・シート・セルの順番に位置を指定して getしていけば良いのでしょうが、DRAWの場合はどのようにして既に、 描画されているオブジェクトを指定すれば良いのでしょうか?

描画後にその対象オブジェクトに「名前」を付けて、BASIC側から呼び 出すのでしょうか?

Calcの場合は既にシートやセルが既にある事前提で、 インデックスによる取得と名前による取得が可能なので、簡単に理解が 出来たのですが・・・

もし、オブジェクトに名前をつけてGetするのが正常方法だとすれば、 この場合、名前は日本語ではまずいのですよね?

四角形オブジェクトに「Day」という名前をつけて下記のように 書いて見たのですが・・・

最後の方のoDrawPage当たりからあたりから怪しくなり、 oShapeのXXXXXXXXところでどのようにgetしていいのかが解らなく、 手詰まり状態になってしまいました。

DRAWでの既存オブジェクト内のTEXTのGETおよびPUTの方法を ご教授頂けないでしょうか。

よろしくお願いいたします。

Dim oDialog As Object

Sub ShowDialog
  DialogLibraries.LoadLibrary("H_Library")
  oDialog = CreateUnoDialog(DialogLibraries.H_Library.StartWindow)
  oDialog.Execute()
End Sub

sub CloseDialog
  oDialog.EndExecute()
End Sub

sub TEXT1Dialog
  Dim oA_TextField As Object
  Dim A As String
  Dim oDoc As Object
  Dim oDrawPage As Object
  Dim oShape As Object
 
  oA_TextField = oDialog.GetControl("A_TextField")
  A = oA_TextField.Text

  oDoc = ThisComponent
  oDrawPage = oDoc.getCurrentController().getCurrentPage()
  oShape = XXXXXXXXXXXXXXXXX("Day")
  oShape.String = A
End Sub

回答 Edit

  • 図形に名前を付けて置くとシェープの判定が楽ですが、どのみち一つづつ名前を調べて取得する必要があります。
Sub Main
 Dim oFound As Object
 oDoc = ThisComponent
 oDrawPage = oDoc.getCurrentController().getCurrentPage()
 
 For i = 0 To oDrawPage.getCount() step 1
   oElement = oDrawPage.getByIndex(i)
   If oElement.Name = "SHAPE2" Then
     oFound = oElement
     Exit For
   End If
 Next
 
 If NOT IsNull(oFound) Then
   oFound.String = "123"
 End If
End Sub
  • はにゃ? 2009-01-21 (水) 14:58:44
  • はにゃ?様 ご回答ありがとうございます。 なるほど!一旦全検索をかけて取得する必要がある訳ですね。ほぼ頂いたソースのままでうまくいきました。 -- wingman 2009-01-21 (水) 16:52:26
  • だらだら、長い説明文になってしまい誠に申し訳ありませんでした。しかし、すごいですね・・・複数の質問を1つのソースで答える事が出来るなんて。わたしにはまねできない(^^; -- wingman 2009-01-21 (水) 16:55:30
  • ご多忙な中誠にありがとうございました。 -- wingman 2009-01-21 (水) 16:56:21
  • よく読まなかったせいか質問は一つだと思ってました・・・。まぁ、解決したみたいだからいいか・・・ -- はにゃ? 2009-01-21 (水) 17:16:48

感想,コメント,メモ Edit



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