Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!gcd.org!vda-gw!CALA-MUZIK!mmcatv.co.jp!jpix!newsfeed.mesh.ad.jp!newsgate1.web.ad.jp!news501.nifty.com!not-for-mail From: WAKUI Kazuki Newsgroups: fj.comp.applications.excel Subject: Re: =?ISO-2022-JP?B?GyRCSTg9YBsoQk1vZHVsZSAbJEIkTjhGJFM9UCQ3Sn1LIRsoQg==?= Date: Sun, 09 Nov 2003 13:31:56 +0900 Organization: goo freemail service Lines: 105 Message-ID: References: NNTP-Posting-Host: ykic010n000.ppp.infoweb.ne.jp Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP X-Trace: news511.nifty.com 1068352360 24774 211.128.138.64 (9 Nov 2003 04:32:40 GMT) X-Complaints-To: - NNTP-Posting-Date: Sun, 9 Nov 2003 04:32:40 +0000 (UTC) In-Reply-To: X-Newsreader: Datula version 1.52.01 for Windows Xref: ccsf.homeunix.org fj.comp.applications.excel:125 和久井です. なんか,とても恥ずかしいです.すみませんでした. at Sat, 8 Nov 2003 12:31:07 +0900, wrote: Message-ID: >ところで、Module への Declare Function 宣言って何を意味しているのだろう >?。 >Declare Functionは普通DLLの呼び出し時に使用すると思うけど、DLLな >ら元記 >事に書いてるようなコード部分を書き写すなんてことはできないと思うし。 > "Naoto Zushi"さん, "Y.Sone"さん, kounoike@mbh.nifty.comさん, すみません. わたくしがかなりお馬鹿な思い違いをしていたみたいです. ズッと以前に,QuickBasic 使ったことあって, プログラムの先頭部分で,Declare Function とか, Declare Subって,自動生成や,宣言していた記憶があって, "Naoto Zushi" wrote: Message-ID: > > 標準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