
No.3ベストアンサー
- 回答日時:
(1)#1、#2と少し説明点が違っていて、stDocNameはファイル名だと推定しますが、文字列で扱うことが、VBAシステム側がきめているからだと思います。
stLinkCriteriaも同じと思います。(2)form_open(cancel as integer) は引数として
(かっこ内は引数ですね)プログラム作成側または本件ではVBAシステム側でキャンセルキーが押されたかどうかを整数値で(一般には-1,0,1などが多い。またvbCancelなど組み込み定数が使える。)返すと言う約束だと思います。したがってキャンセルされたか聞く時は、整数値と思って聞く事になります。通常は組み込み定数で聞くでしょうから、値が整数を意識することは少ないかも知れない。
この場合VBAシステムはCancelを問題にしていますが、他の場合は2つも3つも用意している場合もあります。こんな情報を引数として渡してほしいと思っても、渡す仕組みにしてくれていないこともあります。システムが経験に基づいて、予め用意してしまっていて、これを破って広げるには、APIなどを使わなければならなくなります。
この回答への補足
詳しい説明ありがとうございます。質問の(2)なのですが、まだ今一
つかめません。(申し訳ありません) 下の文を見ていただきたいのですが、
★[F_顧客]フォームでは、OPENARGS引数で受け取った値を利用して、フォーム
の[票題]プロパティを変更する処理を行います。
Private Sub form_open(Cancel AS Integer)
'OPENARGSプロパティによって[標題]プロパティを変更
Select Case Me.OPENARGS
Case "追加"
ME.Caption="F_顧客(追加モード)"
Case "編集"
ME.Caption="F_顧客(編集モード)"
Case Else
ME.Caption="F_顧客"
End Select
End Sub
例えば、上記の場合などはなぜキャンセルが必要なのでしょうか・・・。
キャンセルをされたか聞く、というのはどういうふうに聞くんでしょうか?
まったくの初心者で申し訳ありませんm(__)m
No.2
- 回答日時:
私はaccessを使っていませんので、VBについて説明します。
(1)VBにはプログラムの最初に
Option Explicit
という文を入れると、変数は全て、型宣言しないといけません。
この文が入っていなければ、宣言しなくても構いませんが、#1さん同様
間違えを最小限に抑える為にも宣言したほうがよいと思います。
例えば、「if stDocName <> "" then」と書いたつもりが、
「if stDocNama <> "" then」となっていた場合、
Option Explicitの文が入っていれば、エラーになります。
(stDocNamaという変数名も宣言されていると別ですが)
(2)VBにはform_openというイベントプロシジャーはありませんので、
Private Sub Form_Unload(Cancel As Integer)
で説明しますと、
プログラム内で[unload me]等フォームを終了させようとすると、
このプログラムが呼び出されます。
Private Sub Form_Unload(Cancel As Integer)
dim sts as integer
sts = msgbox("終了しますか?",vbYesNo)
if ( sts = vbno ) then
cancel = true
end if
end sub
とすれば、終了しますか?のメッセージに「いいえ」を選択したら、
フォームを閉じないようにすることができます。
form_openは確かにcancelの必要もないような気もしますが、
システム日付をチェックして、指定日付を過ぎていたら、openしない
というような感じで使うのでは、ないでしょうか?(憶測です)
accessを使った事のない者が回答するのもどうかと思いましたが、参考までに
No.1
- 回答日時:
(1)は変数の宣言部ですね。
文字列型の変数を使いたいから、そのように宣言しています。
BASIC言語は変数宣言なしでも変数を使えますが、C言語などでは明示的に宣言しないと
使えません。
どちらがいいかは一概には言えませんが、型宣言をしてから利用する方が、間違いが
少ないなどのメリットがあります。
(2)は、イベントプロシージャの例だと思われます。
このイベントプロシージャは、フォームを開く時に呼び出され、Cancel という値を
渡すようになっているようです。(VBであらかじめ定義されています)
Cancelが具体的にどういう意味かは手許に環境がないのでわかりませんが、
アプリケーションはこの値を参照して、値によって処理を変えることができます。
質問の意図と違いますか?
違ってたらもう少し補足してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
EXCELで式からグラフを描くには?
-
血液検査の結果が悪くefgrの値...
-
検便についてです。 便は取れた...
-
VLOOKUP関数を使用時、検索する...
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
2つの数値のうち、数値が小さい...
-
値が入っているときだけ計算結...
-
勃起する時って痛いんですか? ...
-
納豆食べた後の尿の納豆臭は何故?
-
ExcelのVBAでフォームが表示さ...
-
精子に血が・・・
-
エクセルのラベルの値(文字列...
-
小数点以下を繰り上げたものを...
-
エクセルでエラーが出て困って...
-
最近、飲酒すると手のひらが真...
-
エクセルでθを求めたい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
健否~書類の書き方~
-
VLOOKUP関数を使用時、検索する...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
エクセルで空白セルを含む列の...
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
ある範囲のセルから任意の値を...
-
精子に血が・・・
-
エクセルで数式の答えを数値と...
-
風俗店へ行く前のご飯
-
エクセル指定した範囲からラン...
-
一番多く表示のある値(文字列...
-
Excel 数値の前の「 ' 」を一括...
-
ワードのページ番号をもっと下...
-
MIN関数で空白セルを無視したい...
おすすめ情報