Top > OOobbs > 31

OOobbs/31 Edit

  • サマリ: Dialog上のテキストボックスの値をOKボタン押下時に取得したい
  • 環境: Calc
  • 状態: 解決
  • 投稿者: fufu
  • 投稿日: 2004-08-26 (木) 16:09:22

質問 Edit

始めまして。 今年の7月末ぐらいからOpenofficeとCalcでそのマクロを使い始めたのですが、˜ 事前にデータ以外を削除してからマクロを実行するような形で作っていたんですが、˜ ダイアログで最初にデータ範囲を指定してマクロ内で不必要データを削除しようと思い、ダイアログを使ってみたのですが、初歩の部分で躓いております。

Dim aaa As Object
Dim Dlg As Object
Dim box As Object
Sub Main
	DialogLibraries.LoadLibrary("Standard")
	Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
	Dlg.Execute()
End Sub
Function textGeter()
	aaa = Dlg.getControl("TXT_CLASS_NAME")
	MsgBox = aaa.getTitle
End Function

回答 Edit

  • すいません。途中で書き込んでしまいました。"したいのは、Dialog上のテキストボックスの値をOKボタン押下時に取得したい"という事です。"いろいろ見たのですが、テキストの取得方法が良くわからなかったので、教えていただければと思います。 -- fufu? 2004-08-26 (木) 16:13:12
  • 最近ダイアログを使い出したので、やってみました。回答書くのは初めてなのでうまくいくかどうか分かりませんが。OKボタン押下時という判定は、ダイアログをExecuteした戻り値で判断します。OKボタンかキャンセルボタンかは、ボタンコントロールのプロパティで「ボタンの種類」で選びます。このあたりは、「StarSuite 7 Basicプログラマ向けガイド」が参考になります。(ドキュメントリストのページにリンクが貼ってあると思います) -- 玉蔵?
Sub Main
   Dim oDlg As Object
   Dim oCtl As Object
   DialogLibraries.LoadLibrary("Standard")
   oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
   oCtl = oDlg.GetControl("TextField1")
   Select Case oDlg.Execute()
       Case 1              'OK Button
           Msgbox oCtl.Text
       Case 0              'Cancel Button
           Msgbox "Cancel"
   End Select
   oDlg.Dispose()          'Dialog Unload
End Sub
  • うまく整形済みテキストになったみたいだけど、回答にタイムスタンプ入れるのはどうするのかな。。回答にはタイムスタンプはいらないのかな? -- 玉蔵? 2004-08-26 (木) 16:50:20
  • すこしページをいじらせてもらいました。回答の挿入はコメントの挿入で入れてもらえれば ... -- はにゃ?? 2004-08-26 (木) 18:21:19
  • 返事が遅くなってしまい申し訳ありません。上手く出来ました。ありがとうございます。 -- fufu? 2004-11-04 (木) 16:57:27
  • 報告ありがとうございます。ステータスを解決にしておきます。 -- はにゃ?? 2004-11-04 (木) 17:36:45


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