OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
MsgBox - メッセージの表示

VB/VBAではおなじみで、OOoBasicでも使えます。ですが、vb...という名称は定義されていないのでこれを定義する事でVBAのコードをそのまま流用する事が可能となります。

[用法]
MsgBox(メッセージ[, 設定[, タイトル]])
[例]
MsgBox "テストです"
MsgBox "もう一度テストしても良いですか?",4
If MsgBox("エラーが発生しました", 5 + 48, "エラー") = 4 Then
    MsgBox "再挑戦"
Else
    MsgBox "止めます"
End If

ここで、設定に入れた「4」や「5+48」というのはどんなボタンやアイコンを配置するかを設定するためのものですが、数値で覚えるのは酷です。また、戻り値によりどのボタンを押したのかを判断する事もできますが、同様に数値を覚えるのは酷です。そこで、VB/VBAと同じ定数を定義する事でちょっと使いやすくしてみます。

Public Const vbOKOnly = 0
Public Const vbOkCancel = 1
Public Const vbAbortRetryIgnore = 2 '注) OOoBasicにはありません
Public Const vbYesNoCancel = 3
Public Const vbYesNo = 4
Public Const vbRetryCancel = 5
Public Const vbCritical = 16
Public Const vbQuestion = 32
Public Const vbExclamation = 48
Public Const vbInfomation = 64
Public Const vbDefaultButton1 = 0
Public Const vbDefaultButton2 = 256
Public Const vbDefaultButton3 = 512
 
Public Const vbOK = 1
Public Const vbCancel = 2
Public Const vbAbort = 3 '注) OOoBasicにはありません
Public Const vbRetry = 4
Public Const vbIgnore = 5
Public Const vbYes = 6
Public Const vbNo = 7

これを使って先ほどのテストを書き直すと

MsgBox "テストです"
MsgBox "もう一度テストしても良いですか?",vbYesNoCancel
If MsgBox("エラーが発生しました", vbRetryCancel + vbExclamation, _
    "エラー") = vbRetry
    MsgBox "再挑戦"
Else
    MsgBox "止めます"
End If

となり、多少可読性が向上しますしVBAのコードをそのままコピー&ペーストが可能になります。

スポンサーサイト
コメント
この記事へのコメント
Abortについて
参考にさせてもらっています。

MsgBoxについて質問ですが、確かOOoBasicには"中止"という選択肢はありません。vbAbortRetryIgnoreやvbAbortという記述はおかしくないでしょうか。
2006/01/09(月) 09:02:47 | URL | Watanabe [編集]
Re: Abortについて
watanabeさん、コメントありがとうございます。
言われるように、vbAbortに相当するものはOOoBasicにはありません。ただ、VBAのコードをコピー&ペーストで使用する場合にVBA側にこの記述があるとエラーとなるので、あえて記述させて頂きました。
しかし、誤解を招く記述であることに間違いはないので、コメントを追記するよう改めておきます。
2006/01/10(火) 05:47:53 | URL | きむらしのぶ [編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/26-27a78c7f
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。