Top > OOobbs2 > 128

OOobbs2/128 Edit

  • サマリ: ダイアログからシートを追加
  • 環境: Calc
  • 状態: 解決
  • 投稿者: 七志乃権兵衛?
  • 投稿日: 2008-08-16 (土) 20:48:26

質問 Edit

Calc ドキュメントに設置したボタンを押した時にダイアログを出し、ダイアログ内のボタンを押した時にダイアログを出した Calc ドキュメントにシートを追加したいのですが、新たにダイアログが出てしまいます。

対処法をご存知の方、よろしければアドバイスお願いします。
ダイアログのボタンを押した時に実行しているコードは以下の通りです。

Sub InsSheetAtLast(sheetName As String)
	oSheets		= StarDesktop.CurrentComponent.Sheets
	If(Not(oSheets.hasByName(sheetName)))	Then
		oSheets.insertNewByName(sheetName, oSheets.Count)
	Else
		MsgBox "その名前は使用されています"
	End If
End Sub

回答 Edit

  • 特に問題なく動作するようですが・・・。設置したボタンにほかのイベントでも割り当てられているのではないでしょうか?もしくは・・・情報が足りません。 -- はにゃ? 2008-08-16 (土) 21:47:01
  • Calc ドキュメント中で実行すると上手く追加されるのですが、ダイアログに設置したボタンの「動作時」イベントに設定した時は、シートが追加されずに同じダイアログが押すたびに出現してしまうという状態です。 -- 七志乃権兵衛 2008-08-16 (土) 22:14:59
  • ボタンを設置して試してみましたが、正しくシートが追加されます。fileOOobbs2-128.ods -- はにゃ? 2008-08-16 (土) 23:13:21
  • 恐らく、ダイアログの実行中にシートの追加処理をしようとしたのが不味かったと思います。
    なので、ダイアログの終了後に実行したダイアログオブジェクトから情報を取得し、シートを追加することにしました。
    しかし、ダイアログ終了後だと、getControl が上手くいっていないらしく、
    「オブジェクト変数が設定されていない」エラーが発生してしまいます。
    ダイアログ終了後にダイアログ内のテキストボックスなどの情報を取得することは可能でしょうか?
  • ダイアログを dispose する前ならコントロールのインスタンスは生存しています。dispose 前に取得してください。 -- はにゃ? 2008-08-17 (日) 09:28:10
  • 手動で dispose は呼んでいません。 ということは、ダイアログを閉じたら自動で呼ばれてしまうのでしょうか? -- 七志乃権兵衛 2008-08-17 (日) 10:33:10
  • そんなことはありません。ボタンの種類を OK にしてダイアログを閉じているのでしょうか?その場合は問題無いはずですが・・。 -- はにゃ? 2008-08-17 (日) 12:08:31
  • ボタンの種類をOKにしてみましたがダメでした…
    コードは以下の通りです。
    Sub CreateSheet
    	oDialog		= CreateUnoDialog(GlobalScope.DialogLibraries.Standard.CreateSheet)
    	oCtrl		= oDialog.getControl("Year")
    	oCtrl.setText("2008")
    	iRet		= oDialog.execute()	
    	oCtrl		= oDialog.getControl("Year")
    	MsgBox oCtlr.getText()
    End Sub
    テキストの設定は上手くいくのですが、ダイアログ実行後のテキストの取り出しがどうしてもできません。-- 七志乃権兵衛 2008-08-17 (日) 13:35:15
  • Msgbox oCtlr → oCtrl -- はにゃ? 2008-08-17 (日) 13:47:55
  • 本当にすいませんでした! -- 七志乃権兵衛 2008-08-17 (日) 14:21:22

感想,コメント,メモ Edit



Attach file: fileOOobbs2-128.ods 906 download [Information]

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