和久井です.
なんか,とても恥ずかしいです.すみませんでした.

at Sat, 8 Nov 2003 12:31:07 +0900,
<kounoike@mbh.nifty.com> wrote:
Message-ID: <boho8p$pvr$1@news511.nifty.com>
>ところで、Module への Declare Function 宣言って何を意味しているのだろう
>?。
>Declare Functionは普通DLLの呼び出し時に使用すると思うけど、DLLな
>ら元記
>事に書いてるようなコード部分を書き写すなんてことはできないと思うし。
>
"Naoto Zushi"さん,
 "Y.Sone"さん,
kounoike@mbh.nifty.comさん,
すみません.
わたくしがかなりお馬鹿な思い違いをしていたみたいです.
ズッと以前に,QuickBasic 使ったことあって,
プログラムの先頭部分で,Declare Function とか,
Declare Subって,自動生成や,宣言していた記憶があって,

"Naoto Zushi" <news-admin@muzik.gr.jp> wrote:
Message-ID: <bofnhi$9i4$1@cala.muzik.gr.jp>
>
> 標準Moduleの所定関数がpublic宣言されていますか?
>
とか,ご指摘のように,関数や変数のスコープをかなり
意識してちゃんと宣言しないと動いてくれないの?とか
思ったり.
で,宣言文書いてもエラー表示になるし...
作った関数に適宜記述すればよいということで,
先頭部分に記述宣言する必要はないのですね.


次のような簡単なサンプルを作って,確認してみたら,
特に宣言しなくても動いてくれました.
恥ずかしい限りです.すみませんでした.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UserForm部
Option Explicit
Const OK As Integer = -1
Const NG As Integer = 0

Private Sub CommandButton1_Click()
    Dim i As Integer

    With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                MsgBox .List(i)
            End If
        Next i
    End With

End Sub

Private Sub CommandButton2_Click()
    Dim a As Integer
    a = 1
    
    If OK = testcall("てすと") Then
        Stop
    Else
        Stop
    End If

''''call testcall("てすと")
''''If a = testcall("てすと") Then
''''    Stop
''''Else
''''    Stop
''''End If
  
End Sub

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
標準Module部
Option Explicit

Function testcall(dat As String) As Integer
    
    MsgBox dat
    testcall = -1

End Function


>単に、Function名を書くだけで、普通は動くと思いますが。関数にprivate宣言
>さえ
>していなければですが。
>
記述はしてませんでしたが,気づいていませんでした.
記述がないと,defaultでPublicが暗黙の宣言になっていると
いうことでしょうか.

実は,上に書いたconst宣言なども,
Publicって宣言が *したくって* 記述追記すると,
エラー表示になってしまうことも,悩んでいました...


みなさんごめんなさい.そしてありがとうございます.

-- Thanks in advance...
和久井♪和希 mailto:wakuikazuki@mail.goo.ne.jp