テキストボックスへの文字列のコピー †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | かず |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2009-09-25 13:11:12 (金) |
OS | Windows XP |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
excelマクロにて作成した下記のプログラムがcalcでは エラーとなります。
Option VBASupport 1 Sub ボタン2_Click() ActiveSheet.DrawingObjects("テキスト 1").Select Selection.Characters.Text = "テキスト 1" End Sub
シート上に作成した、コマンドボタンを押すと、事前に用意した"テキスト 1" というテキストボックスに"テキスト 1"と表示させるマクロです。
calcではどのように記述するのでしょうか、よろしくお願いします。
無題 †
tani (2009-09-25 15:42:23 (金))
Option VBASupport 1では動作しないコードのようですね。
素直にOOoの標準的なAPIで書き直すしかなさそうです。
oSheet = ThisComponent.getSheets().getByIndex(0) oTextBox = oSheet.getDrawPage().getForms().getByIndex(0).getByname("テキスト 1") oTextBox.setString("テキスト 1")
こんな感じでしょうか。
excelのラベルオブジェクトではどうなりますか? †
かず (2009-09-28 13:39:26 (月))
excelの「テキストボックス」オブジェクトではうまくいきましたが、
excelの「ラベル」オブジェクトの場合はどう記述するのでしょうか?oSheet = ThisComponent.getSheets().getByIndex(0) oTextBox = oSheet.getDrawPage().getForms().getByIndex(0).getByname("label1") oTextBox.setString("テキスト 1")ちなみに上記コーディングでは、2行目はとおりましたが、3行目(値をセットする)でエラーとなりました。
Calcのラベルフィールド †
M.Kamataki (2009-09-28 16:26:53 (月))
ダイアログのラベルフィールド情報ばかりで、何気にフォームのラベルフィールドの情報は少なかったのでした。以下でどうでしょうか。Sub SetLabelField oForm = ThisComponent.getDrawPages().getByIndex(0).getForms().getByName( "Standard" ) 'フォーム名が「Standard」の場合 oLabel = oForm.getByName( "label1" ) oLabel.Label = "テキスト 1" End Sub参考:
2.シート上に作成したボタンとラベルに文字を記入するBasicコード
http://ooosupport.good-day.net/ja/documents/faq/basic
よくよく見直すと †
M.Kamataki (2009-09-28 16:36:41 (月))
結局は、oTextBox.setString("テキスト 1")↓
oTextBox.Label("テキスト 1")と直しても動作しました。一応、oTextBoxをoLabelに置換するとわかりやすいかと思いますが。
無題 †
かず (2009-09-28 16:38:53 (月))
うまくいきました
貴重な情報 皆様ありがとうございました。
オリジナルの情報 †
M.Kamataki (2009-09-28 16:46:59 (月))
フォーム上のラベルフィールドのコードの情報ははにゃ?さんのものでした。
参考:
CALCのコントロールをBasicマクロで扱う方法は?
http://oooug.jp/cgi-bin/bbs/users/1054980773.html