Top > OOobbs2 > 20
  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
  • Go to OOobbs2/20.

** [[OOobbs2/20]] [#a1601526]
-''サマリ'': 質問ではありません。MsgBox改め、MessageBoxを使用。
-''環境'': Calc
-''状態'': 未解決
-''投稿者'': [[ピポン]]
-''投稿日'': 2006-12-29 (金) 14:40:37

*** 質問 [#j57d8651]
MsgBoxに不便を感じていたので、Dllを作成しました。
アップロードしたので、ご使用ください。

添付ファイルは3つあります。
1.ATLcom.ZIP:ATLcom.dllの圧縮ファイルです。(13Kb)
2.ATLcomLib.ZIP:ATLcom.dllのライブラリファイル(2Kb)
3.ATLcom.doc:ATLcom説明書

1,2を解凍してc:\Windows\System32内にコピーすると使えるようになります(XP)。

それぞれの責任においてご使用ください。

以下お品書き

‘////////////ATLcom.DLLの宣言・・
Declare Function MessageBox Lib "ATLcom.dll" Alias "mMessageBox" ( flag as integer,title as string,subtitle as string ) as integer
Declare Function SelectBox Lib "ATLcom.dll" Alias "mSelectBox" (Width as integer,SelTitle as string,SelMsg as string ) as integer
‘////////////ダイナミックライブラリ宣言・・
 

‘///////////oMessage手続
sub oMessage
    title="toukyouto東京都"
    subtitle="神奈川県ppp"
    flag=0
    MessageBox(flag,title,subtitle)
end sub
‘//////////oMessage手続終了

flag:応答の種類を指定します。(引数名は[flag]を使用します。)
title:タイトルバーに表示する文字列を指定します。(引数名は[title]を使用します。)
subtitle:応答を求める文字列を指定します。(引数名は[subtitle]を使用します。)
    subtitleを複数行で表示するときは、行末に chr$(13)を挟んでください。
    例) subtitle="神奈川県ppp"  +  chr$(13)   +   "toukyouto東京都"
    2行で表示されます。

Result=MessageBox(flag,title,subtitle)とすればResultにリターンコードが数字で返ってきます。
キャンセルでも、「Basic Error」になりません。
はい(OK):1
いいえ:0
キャンセル:−1

注意:関数の引数(文字変数名)をDll内で比較していますので、このままお使いください。
   文字変数名を変えると、エラーになり動作しません。
   ×MessageBox( 2,“title”,“subtitle”)   引数名が確認できないためエラーになります。
   以下同じ。
 

‘/////////oSelectBox手続
sub oSelectBox
   SelTitle="選択箱"
    SelMsg="東京都kaiiあいうえお"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "神奈川かきくけこ県abcdefghijklmnopqrstuvwxyz"  +    chr(13)  +chr$(10)
    SelMsg=SelMsg  +  "abc"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "Sel京子Msg西原" +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "東京都kaiiあいうえお"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "神奈川かきくけこ県abcdefghijklmnopqrstuvwxyz"  +    chr(13)  +chr$(10)
    SelMsg=SelMsg  +  "abc"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "Sel京子Msg西原" +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "東京都kaiiあいうえお"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "神奈川かきくけこ県abcdefghijklmnopqrstuvwxyz"  +    chr(13)  +chr$(10)
    SelMsg=SelMsg  +  "abc"  +  chr$(13)  +  chr(10)
    SelMsg=SelMsg  +  "Sel京子Msg西原"
    Width=6
    id=SelectBox(Width,SelTitle,SelMsg)
    title="回答の確認"
    subtitle="よろしいですか?"
    flag=2
	MessageBox(flag,title,subtitle)
end sub
‘/////////oSelectBox手続終了

Width:横スライドバーを表示するための横幅を指定します。(引数名[Width]を変えないでください。)
    最大文字長さが 10×Width Pixel以上になったとき、横スライドバーが表示されます。
    様子を見て適当に決めてください。
SelTitle:タイトル文字列(引数名[SelTitle]を変えないでください。)
SelMsg:選択する文字列(引数名[SelMsg]を変えないでください。)
    選択文の区切りは chr$(13)+chr$(10) を使用しています。最後行の文末は通常通りです。
注意:SelMsgの文字列総長さは2000文字です(ASCII)。 2000文字以内でお使いください。
   2000文字を超えた部分は無視されます。
左ダブルクリックで文字列が選択されます。 idに選択行番号(上から1,2…)が返ります。
×をクリックすると idに0が返ります。
   



*** 回答 [#pebe8be3]

#comment


*** 感想,コメント,メモ [#p88ae6d5]

#comment

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