0

Windows XP 32 ビットで動作する VB Excel アプリケーションを Windows 7 64 ビット オペレーティング システムにアップグレードしようとしています。このような操作に影響を与える 2 つの問題があります。これらのトピックは珍しくないことがわかりました。

  1. VBA スクリプトは、Microsoft Internet Transfer Protocol 6.0 (SP 6.0) - System32 ディレクトリに登録された MSINET を必要とするサーバーに接続する必要があります。残念ながら、前述のライブラリは 32​​ ビット オペレーティング システムでのみ動作し、64 ビット用のリリースはありません。参照リストにインポートしようとしました: これは機能しているようですが、アプリケーションを再起動すると dll (単なる ocx ファイル - Active X) が見つかりませんでした。明らかに、regsvr32 アプリケーションを介して dll を登録することはできません。64 ビット バージョンの Windows で動作する MSINET に似たものはありますか?

  2. 私が見つけた 2 番目の問題は、前の問題とは関係ありません。アプリケーションは、入力文字列を解析して空白を削除する必要があります。古い VBA は TRIM を使用しており、それについて変更を加える必要はないと思います。ただし、コンパイル操作の結果、「コンパイル エラー: プロジェクトまたはライブラリが見つかりません」というエラーが発生します。欠落している参照はありません (MSINET を除く)。

私は64ビットのWindows 7、Office 2010、microsoft.office.interop.excel.dll 14がインストールされています。ありがとうございました

4

2 に答える 2

3
  1. 32 ビット ソフトウェアは 64 ビット システムで問題なく動作します。64 ビットの ocx は必要ありません。とにかく使用できません。このような 64 ビットの Windows 7 に 32 ビットの ocx を登録する方法については、Google で入手できるマニュアルがたくさんあります。
  2. 欠落している ocx 参照を修正するとすぐに、欠落しているトリム関数が自動的に修正されます。繰り返しますが、これは検索で自分で見つけることができます。

ただし、64 ビット オフィスを使用している場合は、msinet コントロールをまったく使用できず、msinet への参照を削除するまでトリム機能は再び表示されません。

于 2012-07-12T10:38:24.260 に答える
2

一部の Windows インストールでは、System32 で OCX を登録できませんでした。これは私の会社では通常の問題になったので、これを解決するための私の方法は次のとおりです。

  • ドライブに OCX という名前のフォルダーを作成します (任意の場所に配置できます)。
  • そこにOCXを配置します
  • 管理者として cmd.exe を起動します
  • そのフォルダーに OCX を登録します。

    C:\Windows\System32> regsvr32.exe C:\OCX\mscomctl.ocx 
    

これはいつでも機能します。

OCX フォルダは削除しないでください。


編集:

Windows 7/8 の新規インストールでは、Office アプリ (アクセス) を管理者特権で実行することにより、OCX を登録せずに同じアプリケーションを実行できました。同じOCXの問題を引き起こしていたプリントサーバーのためにそれを発見しました。おそらくこれは、管理者として実行するのではなく、OCX 権限を編集することで修正できます。

于 2014-06-18T14:58:04.153 に答える