- ベストアンサー
Viausl Basic6.0とExcelの連動性は低い?
お世話様です。 タイトルの通りの質問なのですが、VB6.0とExcelの連動性は低いのですか? 私の職場では「VBでExcelをこういう感じで動かせたら、仕事で 大いに活かせるし、助かるのにな・・・」という場面が結構あり、 実際にそういうプログラムを組んでみようと試みた事もあるのですが、 参考書を見てもExcelとの連動に関しての記述が少なかったり、 基本的な(指定セルに値を代入する等)事しかなかったりします。 ネットも同様です(情報提供サイトの批判ではありませんよ)。 教えて!gooさん等に質問の投稿をすれば、親切な方が助けて くれたりもしますが、助けてくれた方はどこで学んだのか、 不思議です。 自分の調べ方が甘いのかも知れませんが、VB6.0とExcelは 連動性が低いのでしょうか? ご教授のほど、宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>連動性が低いのでしょうか 発想の立て方が間違っていると思います。 識者の反論覚悟で、はっきり言いましょう。 エクセルVBAとVB6.0は別です。 別分野のことを処理するためにできています。 ただ基礎的な言語の文法は同じです。 目的が違います。日常英会話ができても、医学用語(米)を知らないと、米国医学会に出られないようなのを連想します。 VBを習熟しても、エクセルVBAはおのずと使えるものでは有りません。 VB固有のプログラムコードだけでは、例えばシートの削除のプログラムは絶望的に難しい。エクセルというソフト(プログラム)の基本的な構成知識(マイクロソフトの技術者あたりしかわからない)を知らないとそれはできません。 エクセルVBAはエクセルの操作や働きを知らないと使えません。 エクセルと密着した処理を担当する、スクリプトです。 エクセルの操作や状態やオブジェクト(ブック、シート、セル範囲などのこと)に合わせて、簡単な記述で、利用が実現するように 作られています。 エクセル(VBA)を知らなくても、VBのエキスパートは沢山いるでしょう。プログラム熟練者でエクセルなんかと思っている人を見ました。彼らは必要な都度最小限エクセル(VBA)の勉強をするようですし、習熟も早いです。 エクセルVBAでは、エクセルで行う操作や働きを、対象をObject、働きをMethod、設定をPropatyで整理して何千というエクセル向きの語がつくられています。 関数(ワークシート関数ではない関数)とステートメントはVBの基礎部分ととほぼ共通です。 エクセルとVBを連動させなくても、エクセルVBAだけで使える 場面は沢山あります。 またVBからエクセルVBA処理の世界に入るのも簡単です。VBAでもVBと似たことは、課題の内容によりできる場合も多い。 また基礎的な仕組みでAPIとかCOMとか難しい道具立てがあり、VBからそれらを使うと、できることが増えるので、話がややこしくなるので、上記は普通のレベルでの話です。 使うと
その他の回答 (3)
- khazad-lefty
- ベストアンサー率44% (296/668)
VB6とExcelVBAは「言語としては」ほぼ同等のはずです。 > どこで学んだのか Excelの場合は、「マクロの記録」で実際の操作を自動記録して、 それを外部から操作できるように変換することが多いです。 その変換方法は。 > 基本的な(指定セルに値を代入する等)事しかなかったりします。 その基本的なことについて、マクロで自動作成されるVBAとそのサンプルのVBのソースを比べればいいのではないでしょうか? あと、EXCELで利用できるオブジェクト・メソッドに関しては、デベロッパー版か何かで、ヘルプを手に入れることができるはずです。
お礼
ご意見、どうもです。 自動記録させた後、自己解析をした事はあります。 VBAの助かる部分ですよね。 下のレスにも書きましたが、これを機にVBAの勉強にも 取り組んでみようと思います。
- dsuekichi
- ベストアンサー率64% (171/265)
Excelのマクロ機能(ExcelVBA)はご存知ですか? ご存知なら、マクロ機能をどの程度、使いこなせますか? VBからExcelを操作する場合、Excelマクロ(ExcelVBA)の機能を呼び出します。 つまり、Excelマクロを勉強すれば良いです。 #逆に、Excelマクロを知らないなら、VBからExcelを自在に操作するのは無理です。
お礼
ご意見ありがとうございます。 なるほど、やはりVBでエクセルを扱うなら、VBAは避けて 通れないということですね。 これを機に、VBAの勉強をしたいと思います。
- hana-hana3
- ベストアンサー率31% (4940/15541)
具体的に何をやりたいのか解りませんが、VBAで出来る事はすべてVBから操作可能です。
お礼
ご意見、ありがとうございます。 そうだったんですか?自分はVBAは少しかじった程度でして・・・。 参考になりました。
お礼
>エクセルとVBを連動させなくても、エクセルVBAだけで使え>る場面は沢山あります。 ご意見どうもです。 上記の文章が一番ひっかかりました。 「何がなんでもVBでやる」という考えに、固まっていたんじゃないかと考えていました。 もともと、VBAは基本的な事すら出来てないのが原因ですね。 これを機にVBAも勉強してみます。