重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

先ほど立てたものですが、第二段です。先ほどは詳しい説明ありがとうございした。しかし、【Private Sub form_open(Cancel AS Integer)】のCancelの使い方が今一分りません。下の文を見ていただきたいのですが、


★[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

A 回答 (5件)

「Cancel」について、WEBを検索して参考になりそうなものを拾いました。


Integer(1等)で設定するものと、Boolean(True,false)とあります。
-----
ThisWorkbookのコード画面で下記のように記述することになります。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
End Sub
このマクロがあると、ブックを閉じるイベントが発生しなかったかのようになります
ThisWorkbookのコード画面で下記のように作成すれば、ユーザーの操作は勿論、マクロからでも、ブックは閉じれなくなります。 Cancel = 1 を消さない限り、パソコンの再起動が必要になるでしょう。
'-----------------
' ブックを閉じれないようにするイベントマクロ
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = 1 'キャンセルする
End Sub
--------
イベントプロシージャのCancel引数をTrueに設定する。このことにより、このBeforeInsertイベントの発生はキャンセルされ、レコードの追加が行われなくなる。
-------
下記の中で「cancel」で検索しその前後を読んで下さい。
http://ws.31rsm.ne.jp/~pension/access/ota2001/81 …
http://www.moug.net/mmaga/main_magbn112.htm
http://rose.ruru.ne.jp/dst/text/Access3/Access3. …
http://homepage2.nifty.com/housaka/excel/vbafaq0 …
http://www.asahi-net.or.jp/~ZN3Y-NGI/YNxv9d5.html
http://www.moug.net/mmaga/main_magbn060.htm
    • good
    • 0

こんばんは。



皆さんが言われている通り、
Private Sub form_open(Cancel AS Integer)
は、フォームをオープンする時のイベントプロシージャの仕様なのです。
Cancel という引数を必ず使わなければならない事はありません。

ところで、こちらのサイトの真中より少し下の「"開く時"と"読み込み時"はどう使い分ける?」
のところにこのプロシ-ジャの説明がありましたのでご覧下さい。
http://homepage1.nifty.com/tsware/study/vol5/eve …

概略説明しますと、このプロシージャの中で、Cancelの値を"True"に設定すると
フォームを開かなくする事ができるということです。
ここのあたりをよく読んでみてください。

参考URL:http://homepage1.nifty.com/tsware/study/vol5/eve …
    • good
    • 0

#1です。


追記です。
必要ないからといって、(Cancel AS Integer) を削除してはいけません。
これは決まっています。
必要なければ無視してください。

このままフォームをオープンさせてはいけないわ!というときに使ってください。
    • good
    • 0

Form_Openイベントプロシージャの引数[Cancel]は、そのイベントプロシージャ内で使おうと使わなかろうとイベントプロシージャの「仕様」なのです。


「Private Sub Form_Open(Cancel As Integer)」
という書き方はMicrosoftが決めた書き方なのです。
私は[Cancel]を使用したことがありませんが、「条件によってはフォームを開かせないこともあるだろう」という配慮から用意された引数なのです。
使わないならそのままにして大丈夫です。
    • good
    • 0

こんばんは。



キャンセルが必要かどうかは、あなたが決めればよいことです。

たとえば、  
>Case Else
>ME.Caption="F_顧客"

とありますが、これを
Case Else
Cancel = True

とすれば、追加、編集以外の値が渡ったときは、フォームがオープンされません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!