1

Visual Basic 2008ExpressEditionの使用

2台のPCが関与しています:

PC1にはVBEEがインストールされており、Excel 2007がインストールされています
PC2(ターゲットマシン)にはVBEEがインストールされておらず、Excel2000がインストールされています

私が達成しようとしているのは、PC2で使用するアプリをPC1で構築することです。

もちろん、ビルド中に12.0ライブラリを参照してから、ターゲットマシンで9.0を使用して実行しようとすると、「12.0オブジェクトライブラリが見つかりません」というメッセージが表示されます。また、遅延バインディングを使用することはできません(以下に示すように):PC2のセキュリティ設定は明らかにこれを禁止しています...

    Dim objExcel As Object 'Excel.Application
    Dim objWB As Object 'Excel.Workbook
    Dim objWS As Object 'Excel.Worksheet
    Dim objRng As Object 'Excel.Range

    Try
        'Try to Open Excel, Add a workbook and worksheet
        objExcel = CreateObject("Excel.Application") 'New Excel.Application

    etc...

では、実際にVBEEと同じマシンにインストールせずに、Excel 9.0への参照を追加する方法はありますか?

これを回避する他の方法はありますか?

4

1 に答える 1

0

もちろん、私はいつもそうしています。古いバージョンのマシンからTLB(または参照する必要があるメインのEXEまたはDLL)を取得し、ITを開発マシンにコピーする必要があります(できればプロジェクトのどこかにコピーして、VCSの下に配置できるようにします。プロジェクトのソースの一部であるという理由だけで、参照をそのdllに設定します。

Office 2000 から 2010 までのすべてで実行する必要があったアドインに対して、Word、Excel、PPT、および Outlook でこれを正常に実行しました。

関連するすべての TLB と TLB を含む DLL をさまざまなマシンから取得し、それらを一元的に配置して、それらのコピーを参照しました。

.NET を使用すると、複数の WORD tlb を同時に参照することもできます (ただし、実際に参照する必要はありませんでした)。VB6 では、そこまではできませんが、一般的にはそうする必要はありません。

于 2011-04-08T18:55:57.933 に答える