• ベストアンサー

VBAの将来性について

Wendy02の回答

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 まず、『ja.wikipedia.org/wiki/VBA』の内容はいつ書かれたものかは知りませんが、少なくとも、ここ数年に書かれたものではないようです。また、記述の間違いもいくつかあるようです。もし、読むなら、WikiPediaの英文側を読んでいただいたほうがよいです。 プログラミング側の一部の人々が推進していた、VBA --> VSTA(Visual Studio Tools For Application) への移行の発表は事実ですが、ユーザーからもの連日すごいクレームがついて、断念せざるを得なかったとも聞きますが、Office 開発チームでは、その移行の計画は、目下立っていないということです。VSTOは、Developer Version の後継ソフトの名前で、VSTOについては、値段が高すぎます。VS2008 Professional Version で済むような気がします。 ここのベータニューズは公式発表ですから、追って読めば、かなり具体的に様子がつかめるはずです。 http://www.betanews.com/article/Next-Microsoft-Office-will-continue-to-support-VBA/1201120613 Next Microsoft Office will continue to support VBA By Scott M. Fulton, III | Published January 23, 2008, 3:36 PM >調べてみるとVSTOという技術でのOffice開発があって、それへの転換を進めているということなのだろうと推測しました。 本来は、.Net FrameWork を利用するということだと思います。Office 2003 から、利用できるオプションがつきました。ただし、CreateObject で、.Net FrameWorkの一部を呼び出すことは、下位バージョンでも可能です。また、これらのマニュアル等が出ていないようですから、情報はネットに頼るしかありません。 We understand that VBA is a critical capability for large numbers of our customers;accordingly, there is no plan to remove VBA from future versions of Excel." 我々(開発チーム)は、VBAは、大多数の顧客にとって、重要な機能であることは理解している。したがって、Excelの将来のバーションにVBAをなくするという計画は立っていない。 http://blogs.msdn.com/vsto/archive/2008/01/16/the-reports-of-vba-s-demise-have-been-greatly-exaggerated.aspx The Reports of VBA's Demise Have Been Greatly Exaggerated Published 16 January 08 07:21 PM The report that the next generation of Office will not contain VBA is untrue -- the next generation of the Microsoft Office system will definitely contain all of the functionality that developers and power users expect from VBA. 次世代Office にVBAが含まないということはウソである。次世代Microsoft Office システムには、VBAの開発とパワーユーザーの期待しうる機能は、間違いなく含まれている。 ・Office2003と比較してOffice2007で追加された技術 Office Excel 2007 での変更点 http://technet.microsoft.com/ja-jp/library/cc179167.aspx 私自身が気になる点 :クエリ テーブル 説明 : クエリ テーブルは一覧機能と統合され、テーブルと呼ばれるようになりました。 変更の理由 : この変更により、機能が改善され、操作の一貫性が向上しています。 Office Word 2007 での変更点 http://technet.microsoft.com/ja-jp/library/cc179199.aspx 私は、Word VBA 2007をあまり使っていないので、あまり認識ありません。

rock123
質問者

お礼

とても詳しいご説明ありがとうございました。 VBAはなくならないのですね。 英文も読んで理解しました。 Office 2008 for MacではVBAがサポートされていなかったのですね。 知りませんでしたので、勉強になりました。 どこかでVBAの機能が減らされているという記事を読んだ記憶がありまして、 今回の質問をさせていただいておりました。 その記事ではWindowsの話だったと思いますが、 周辺知識として勉強になりました。 ありがとうございました。

関連するQ&A

  • Office2007のVBAのDLLファイル?

    全社的にOffice2000(又は97)からOffice2007に移行する作業中です。 NotesデータベースからExcelデザインフォーマット使用して印刷できる市販のソフトを導入していますが、Office2007環境では、実行する際、以下のエラーが出ます。 「このファイルのVBAプロジェクトを開くには、現在インストールされていないコンポーネントが必要です。詳細については、「Microsoft Office on-lineでVBAコンバータと検索して下さい」と小窓が開きます。 小窓を閉じると、もう1つ小窓が開き、 「このブックにある、VBA プロジェクト, ActiveX コントロール, およびその他のプログラミング関連の機能は失われています。」と表示されます。 類似質問をこの相談箱で見つけました。 Excel2003と2007の違い? http://questionbox.jp.msn.com/qa2776712.html 上記では『マイクロソフトに連絡し、VBAのDLLファイル(Hot Fix版)を入手すれば直りました。(無料)』と回答がされていますが、詳細がわからず困っています。 最終的には有料サポートに聞くしかないのかも知れませんが、上記DLLファイル はどのようなものなのでしょうか?どこかで手に入りませんでしょうか? よろしくお願いいたします。

  • VBとVBAの違い

    VBA→マイクロソフトオフィスを動かすもの VB→ウィンドウズを動かすのも VBでエクセルなどは操作できるけどVBAでOSは動かせない。 と言う認識であっていますか? よろしくお願いします。

  • エクセル2002に追加でVBAヘルプをインストールしたい

    VBAヘルプを使うために、エクセル2002に追加でVBAヘルプをインストールしたいです。 「プログラムの追加と削除→Microsoft Office XP Professional 変更→機能の追加/削除→Office共有機能→Visual Basic for Applications→Visual Basic ヘルプ」 のような感じで進んでいきますが、最後にCD-ROMを挿入して下さいという画面にたどり着きます。 しかし、パソコンには購入時にすでにエクセルがインストールされていてOfficeやEXCEL単体のCDがありません。CDとしてあるのはドライバーCDとリカバリーCD(4枚)しかなく、一応CD-ROMを挿入して下さいという画面の時に読み込んでみましたが読めません。 このような状態だと追加インストールはできないのでしょうか。もしできるとすればどうすればよいのでしょうか。

  • .NET Frameworkって一体何?

     近年、.NET Frameworkという言葉が流行っていますが、これは一体何なのでしょうか?  従来のようにWin32APIやMFCを使ったアプリケーションとは、かなり質が異なるもののように思われます。  .NET Frameworkに対応したアプリケーション開発ができると、どのような利点が生まれるのでしょうか?  また、次期WindowsといわれるLonghornでは、.NET Frameworkが非常に重要視されているように思います。 そして、こうした時代の流れを察するに、Win32APIやMFCのみでのアプリケーション開発をしてきた私も、.NET Frameworkとは一体何かを知らなければいけないと思うようになりました。  私はまだ何も確証は持てないのですが、.NET Frameworkはコンポーネント技術と何かしら関係があるように思います。しかし、そのような気がするだけで、何がどうなって、.NET Frameworkが構成されているのかまったくわかりません。.NET Frameworkがあると、将来どのようなことが実現可能になるのですか?

  • MS-ACCESSでDAOとODAの違いは?

    違いが良くわかりません。下記はあるHPで見かけた説明なのですが、自分の環境にはどちらがいいのか決めかねています。 皆さんはどうされていますか? >>>>>>>>>>>>>>>>>>>>>> ADO ってのは、ActiveX Database Object の頭文字で、"ActiveX" が示すとおり、OLE を介してデータベースにアクセスする標準インターフェースのことのようです。詳しくはマイクロソフトなり関連雑誌になり当たってください。  DAO ってのは、Data Access Object の頭文字で、Jet エンジンにアクセスするときに使うインターフェースです。扱いが簡単なので長く使われています。 ADO ってのは、ActiveX Database Object の頭文字で、"ActiveX" が示すとおり、OLE を介してデータベースにアクセスする標準インターフェースのことのようです。詳しくはマイクロソフトなり関連雑誌になり当たってください。  DAO ってのは、Data Access Object の頭文字で、Jet エンジンにアクセスするときに使うインターフェースです。扱いが簡単なので長く使われています。

  • .NETとActiveXの関係

    c++からブラウザ操作を行うプログラムを作成しています。 その際、.NET版 と ActiveX版を作りましょうという話になったのですが、 .NET と ActiveX の関係がわからず、教えて頂きたいです。 ActiveXは、 ネット関連のコンポーネントや技術と捉えています。 例えば、 WebBrowser コントロール (SHDocVw.dll)も ActiveXに属するという認識です。 対して、.NETは、 端的に言えばマイクロソフトが開発したアプリケーション開発、実行環境とのことですが、 WebBrowser コントロール (SHDocVw.dll)と同じことをしようと思ったら、 System.Windows.Forms.WebBrowser を使ったり、 SHDocVw.dll をimport することになるとおもいます (後者は工夫が必要そうですが) なので、 .NET は、ActiveXを包含しているという風に認識していたのです。 ActiveX コントロールは、.NETのControlクラスを継承しているはずがないので、 Windowsのポインタ(EnvDTE::Windows)ではなく IEオブジェクト用のポインタ( IShellWindowsPtr、 IWebBrowser2Ptr)を使う必要があるものの、 この認識だと、 「.NET版 を作成したら ActiveX版を作っているのと同じ」となので 冒頭の「.NET版 と ActiveX版を作りましょう」と矛盾し、 .NET が ActiveX を包含しているというわけではない?? .NET と ActiveX の関係ってどういう関係?? となり、正しい認識を教えて頂きたいのです。 .

  • VBA…苦しんでます

    VBAを勉強するようになったころから、常々感じていることなのですが、VBA講座を開設されている方々や市販されている"指南書"を書かれているライターさん達は、どのように知識を得られたのでしょうか? もちろん、プロの方達なので、過去からの知識の蓄積はあるでしょうが、文法一つ、あるいは構文一つとっても、VBAなどのプログラムの場合一字一句間違えたら動きませんよね? (それで苦労してるのですが・・・) ヘルプは決して使い勝手はよくない上、詳細な使い方が載っているとは思えないですし。 たとえばCPU会社はどの数値がどのような処理に対応するかという表、いわゆる「インストラクションセット」というものが公開され、それに基づき、アプリケーションが開発されてるとのこと・・・。 マイクロソフトに聞いても"当社では書籍はありません"との事・・・。 開発会社が"説明書"を公開していないのなら、どうやって使い方などがわかるのでしょうか?どんなものでも、作成者のみが使うものではない以上、"取扱説明書"が無い限り、使えないと思うのですが・・・。 ものすごく引っかかっているのです。 ぜひ教えてください!

  • XPEmbeddedによるWMI利用について

    WMIを利用したソフトをVBで作っていますが、XPEmbeddedにて実行すると 「ActiveXコンポーネントを作成できませんでした」 ( ActiveX component Can't create object) とエラーがでます。 //////エラー箇所/////  Set Locator = New WbemScripting.SWbemLocator ・・・VB6で開発した場合  Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator") ・・・VBSで実行した場合 wbemtest.exeでWMIテスターによる各種情報取得はできるのは確認しました。 XPEmbeddedでWMIを利用する際は、他に何かしなければいけないのでしょうか? 対処法があれば教えて頂ければ幸いです。

  • C#とVB.net

    Frameworkの開発は C#とVB.netのシェアはどちらが高いのでしょうか? 今までのOffice(2003まで)にはマクロ言語としてVBAがありましたが 次期Office(Office12)にはC#が採用されたりするのでしょうか? その辺りについて、知っておられたり または掲載しているサイト等がありましたら 教えてください。

  • ExcelでWithEventsが記述できない

    クラスモジュールに下記のように記述すると、赤く表示されエラー状態になります。 Dim WithEvents text as string WithEvents を削除するとエラーが解消されます。WithEventsについて色々検索しましたが 原因が分かりません。 何か参照設定等が必要なのでしょうか。ご存じの方教えてください。 ちなみに、バージョンはExcel2003 で、参照可能なライブラリは現在つぎのとおりです。 Visual Basic For Applications Microsoft Excel 11.0 Object Library OLE Automation Microsoft Office 11.0 Object Library Microsoft Forms 2.0 Object Library Microsoft ActiveX Data Objects 2.8 Library Microsoft Visual Basic for Applications Extensibility 5.3