• ベストアンサー

Excelマクロは今後止めたほうがよい?

EXCELのVBAについて教えて下さい。 EXCELのVBAはセキュリティはともかく、ちょっとした基幹システムのデータを取得するツールやプログラムを組むまでもないちょっとしたツールを提供するのに重宝しており、気がつけばかなりの種類を社内に提供しています。 OFFICE2007の64BIT版ではもはやVBAはサポートされていないということを知り、これ以上増殖させるのは問題があると思い始めました。 .NETなるものがその後継と見なされるのでしょうか? ただ、VBと同じようにランライムシステムをインストールすることが前提のシステムは幾ら機能が高くても面倒であり、ランタイムを配布する作業を考えただけでもぞっとします。 ランタイムが不要(というよりEXCEL自身がランタイムシステム)なのがVBAのよいところだと思っていたのですが、それが使えなくなるのは残念です。 EXCELVBAマクロをもっと本格的に活用されている企業ユーザーの方々は移行や今後の対策をどのように考えておられますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Office2007の64Bit版でサポートされない? 記事を見る限りでは移植はされない(コードが書けない)けど、実行は出来るってことですよね。 http://www.itmedia.co.jp/enterprise/articles/0605/01/news010.html 互換性の問題が発生してコードがそのまま動かない可能性があるってことだから、影響が出ないコードを書くか32Bit版を使えってことでしょう。 言い方が悪いが下手なコードで動いていたのが動かなくなる程度ならいいですが・・・ 実際に64Bit版を使い出して、「あれ、動かない!」ってわかり始めてからどうしても必要なら.Netへ移植する。 無くても大丈夫だろうと思うなら何もしない。 どちらにしても社内全部が64Bit版に変わるタイミングってWindouw7が正規リリースされてからじゃないですかね。 質問者様の社内では既に切り替えが始まっていますか? 現在、Office2007の64Bit版が手元に無いので、自由不自由がわからないため想像で書いています。

hatsuzo
質問者

お礼

有難うございます。 おっしゃるとおりですね。 まだまだ時間があります。 それまで安易にマクロを増やさない、ということも必要ですね。

その他の回答 (2)

  • Azzz___
  • ベストアンサー率40% (9/22)
回答No.3

こんにちは。 関心のある内容ですね。 私の考えでは、VBAを利用しているユーザはMSにとって 資産とも言えると思います。 時代が変わり、無料で使えるOpen Officeなどが出回っている中で サポートなどが行われないとMSはその資産を手放すことになるのではないかと 思います。 ということで、どんな形にしてもある程度はつなぎとめておくという意味でも しばらくはサポートは継続せざる得ないのではないかと考えます。 もっとも2003→2007では既存のヘビーユーザを無視するかのごとく インターフェース変えて来ましたので油断できませんが(笑)。

hatsuzo
質問者

お礼

ありがとうございました。 同感ですね。MSはVISTAに失敗してもまだ懲りないのでしょうか。 2003を使える限り使おうとは思っています。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

> .NETなるものがその後継と見なされるのでしょうか? ですね。 http://oshiete1.goo.ne.jp/qa3476856.html MSはVBAからVSTA/VSTOへの移行を推奨しているようですが、根強い人気(特に日本人)のあるVBAから移行できるのでしょうか?

hatsuzo
質問者

お礼

情報ありがとうございました。 けっこう違いがあるのですね。別物に近いような気もします。

関連するQ&A

  • EXCELやACCESSでDBに接続して色々な資料を作成したい。

    EXCELやACCESSに付いているVBAを使って基幹システム(DB)に接続して内容を変更したりできますか? 現在外部データーベースへの接続(EXCEL)や、 データベースのインポートやリンク(ACCESS)で接続してデータの閲覧は出来るようになったのですが、更新作業が出来ません。 それとEXCELやACCESSのVBAの勉強をしたいのですがお勧めの書籍としてはどのようなものがありますか? 自分としては「EXCEL VBA 入門」とか「ACCESS VBA 入門」とかよりも、まずはVB自体の勉強をした方がいいのかな?と思っています。 ところがVB6.0とか、VB.NETとか色々なバージョンがあるようです。 お勧めの勉強法というか、順序などありましたら教えて下さい。 宜しくお願いします。

  • エクセルでのマクロ異常について

    エクセルでマクロを作り、それを実行している際に、 ある時作ったエクセルブックにおいては、1度目はマクロが実行できるのですが、2回目以降にマクロを実行しようとすると、「ファイルがみつかりません:VBA6.0」という表示が出てOKを押すと、Microsoft Visual Basicの画面が出て、「中断」となっております。 他のマクロを使ったブックではこの現象はありません。パソコンを再起動すると、1度目はマクロが実行できます。 なお「VB6(SP5)ランタイム 基本セット」はインストールしてあり(Vb6jp.dll他いくつかのファイルがインストールされています)、マクロウイルスについても、チエックしましたが検出されません。 この現象は、他のパソコン(win xp)で実行しても同じです。 また再現性があります。 環境はwin98    office2000 premium です。 どのような場合にこの現象が起こりうるのか教えていただけませんか。

  • VBプログラムをEXCEL VBAに移植する方法について教えてください

    こんばんは。私はVBA初心者です。 ”良くVBとVBAは同様な言語”と伺いますが、実際にVBプログラムのソースを VBAにコピーしてもエラーが出て使用できません。 私がいまいちVBとVBAの明確な違いがわかっていないからだと思いますが、頭がもやもやです。 VBはHP上からVB2005を入手しました。 そもそもVBとVBAの相違点は何が違いますか? HPを見ているとVBAでもVB同様にシステムも組めると記載されているため EXCEL上で動作するVBAで、簡単なシステムを組みたいと思ってます。 どうすればVBプログラムをEXCEL VBAに簡単に移植できますか? 作業手順、移植する際に注意する点等、アドバイスを教えてください。 また参考になるHPや本をご紹介くださいませ。

  • VBA

    基幹系システム開発を外部委託するために 色々業者選定を行っているのですが 開発言語が、各社違いVBAやVB、Delphiなど あるのですが、VBとVBAの違いはどのような ものなのでしょうか? 業者は、DBが同じなら開発言語はVBもVBAも かわりないと、おっしゃるのですが それで宜しいのでしょうか? 教えていただけますでしょうか?

  • VB6, VB2005,VC# どれを学習したらよいでしょうか。

    VB6, VB2005,VC# どれを学習したらよいでしょうか。 やりたいことはデータベースやテキストファイル処理、インターネットコネクションのプログラミングです。 仕事でExcelVBAを時々使うので、以前から持っているVB6かと思ったのですが、なぜかMSDNがなくリファレンスがなく微妙です。本かウェブしか頼れない・・・。 ある程度の処理速度を求めていますのでExcelVBAではない方がいいのですが、これからのことを考えたらVB6よりもVB2005でしょうか? それともどうせVB2005はexcelとは大幅に文法が変わってしまうのだからC#? いろいろ調べるほどわからなくなってしまいました。 なおエクセルVBAも本に一通り書いてあることも満足にできない程度です・・・。(こちらにも役立てられるとさらにうれしいです)

  • ExcelVBAに詳しい方に質問!

    ExcelVBAに詳しい方に質問! 私は仕事でアンケート集計をしている者です。顧客から調査を依頼される のですが、いただくデータはExcel形式のファイルです。なので、 そこからモニターの方向けにWeb化する必要があります。 今回目指しているのは、例えばExcelデータの中でマクロが入った ボタンをたった一回押すだけでHTML形式のWebページに変換 するツールを作りたいと思います。 Excel外のマクロでも良いのですが、ExcelVBAでマクロを組んでWeb 化するには具体的にどのようにVBAを組んだらできますか? また、ExcelVBAでなくExcelファイルをWeb化する違う 方法はありますか? ExcelVBAに詳しい方、是非ご教授の程、よろしくお願いいたします。

  • EXCELVBAでフォルダを指定するダイアログ

    EXCELVBAでフォルダを指定する(ファイルではなく)ダイアログを表示させたいの ですが、VBで存在するコントロールがVBAにないので、どのようにすればいいのか わかりません。どなたか、具体的に教えていただけませんでしょうか? EXCEL97を使っています。

  • DAO3.6とACCESSの関係

    OS:WindowsXP, Windows7 開発言語:VB6、Excel VBA ACCESSがインストールされていない環境で VB6やExcel VBAでDAO3.6を使った開発は可能ですか? また、 ACCESSがインストールされていない環境に VB6やExcel VBAでDAO3.6を使ったプログラムは配布可能ですか? ご存知の方がいたら教えて下さい。宜しくお願いします。

  • ACCESSのDBを起動する際にエクセルファイルを開閉する。

    タイトルからはちょっとわかりづらいかもしれません。 現在基幹システムからエクセルファイルに落として、そのエクセルファイルにACCESSからリンクして帳票印刷を行おうとしています。 ところが困った事に基幹システムから落としたエクセルファイルの形式が古いらしく、1回開いてから上書きで閉じないとアクセスへのリンクが有効になりません。 で、アクセスDBを開く際に、エクセルファイルを一端開いてまた上書きで閉じるという事をVBAで実行する事は可能でしょうか? できれば「バージョンが~~~」というメッセージが表示された場合に「OK」を選択している形で上書きできれば最良です。

  • EXCEL VBAからブザーとパトランプを制御し…

    EXCEL VBAからブザーとパトランプを制御したい リアルタイム計測データをEXCELに取込み、演算した結果が判定値意外で あった場合だけブザーとパトランプで警報を出すシステムを構築したいと 考えています。 できればEXCELで演算⇒結果を判定⇒警報を出すを一連のシステムで組み たく、EXCEL VBAで”演算結果の判定⇒警報”のプログラムは可能でしょうか? EXCEL VBAで無理な場合VBで考えたいと思います。 VBのプログラムは殆ど経験が無いため、何か参考になるプログラム、本の 情報でも何でもかまいませんので情報を教えてください。 宜しくお願いします。

専門家に質問してみよう