tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル引数がスプレッド
記事No13604
投稿日: 2009/04/17(Fri) 11:20
投稿者asuka
お世話になっております。

vb6.0にてスプレッドシートを使用しております。

フォームに3つのスプレッドシートを設けて、同じ初期処理をしたいので下記のように関数を作成し、フォームのLoadからコールしております。

Private Sub SetSPInit( vaSP as vaSpread )
 With vaSpread
  ・・・
 End With
End Sub

のように処理しておりますが、With vaSpread部分が悪いのか、スプレッドに処理が施されません。

Withにはユーザ定義型か、バリアント型を指定すればよいと思っているのですが、

このような書き方ではスプレッドに処理は反映されないのでしょうか?

Sub関数の引数の型をVariantにしてもだめでした。

※With []
[]内を3つのスプレッドのうちのどれかで直接してすれば処理は施されますので、
・・・部分の処理自体は正しいようです。
ちなみに、With vaSpread.Nameとすると、Withはユーザ定義型かバリアント型でないとだめだと警告されます。

あるいは、With CVariant(vaSpread)のようにバリアント型へキャストしてくれるような関数はないのでしょうか?

[ツリー表示へ]
タイトルRe: 引数がスプレッド
記事No13605
投稿日: 2009/04/17(Fri) 11:51
投稿者asuka
お騒がせしました。

なぜかビルドしなおしたら(VSが死んだのでVSの再起動)正しく動作するようになりました。

原因は不明ですが、先に記載させて頂いたコードで問題なく動作致しました。

[ツリー表示へ]
タイトルRe^2: 引数がスプレッド
記事No13606
投稿日: 2009/04/17(Fri) 13:24
投稿者魔界の仮面弁士
> なぜかビルドしなおしたら(VSが死んだのでVSの再起動)正しく動作するようになりました。


あれ? 提示されたコードを
> Private Sub SetSPInit( vaSP as vaSpread )
>  With vaSpread
ではなく、
  Private Sub SetSPInit( vaSP as vaSpread )
   With vaSP
にしないと、指定した Spread は処理されないと思うのですが…。

[ツリー表示へ]