Windows7 + Excel2010への移行で発生するエラーと対応方法

このQ&Aのポイント
  • Windows7 + Excel2010への移行で、VBAのシステムが実行時エラー1004を連発しています。テキストボックスの操作やActivateメソッドが失敗し、解決策は一つずつ対応するしかありません。Excelの設定やファイルの保存方法で劇的な解決策があるか教えてください。
  • WindowsXP + Excel2003環境で運用されているVBAのシステムを、Windows7 + Excel2010へ移行する際に、実行時エラー1004が多発しています。テキストボックスのEnabledが操作できず、Activateメソッドが失敗するなどの問題が発生しています。問題の解決には、個別に対応する必要がありますが、Excelの設定やファイルの保存方法の見直しで劇的な改善が期待できるかもしれません。
  • WindowsXP + Excel2003環境で運用中のVBAシステムを、Windows7 + Excel2010へ移行する際に、実行時エラー1004が頻発しています。テキストボックスのEnabledが操作できず、Activateメソッドがうまく機能しないなどの問題が生じています。これらのエラーには、個別に対処するしかありませんが、Excelの設定やファイルの保存方法を変更することで劇的に問題が解消する可能性もあります。Excel 2010でVBAに詳しい方のアドバイスをお待ちしています。
回答を見る
  • ベストアンサー

Windows7 + Excel2010 への移行

現在、WindowsXP + Excel2003環境で運用されているVBAのシステムがあります。 このたび、Windows7 + Excel2010移行することになり動作検証することになったのですが、 以下のような実行時エラー1004(OLEObectクラスのエラー)が連発しています。 ・テキストボックスのEnabledが操作できない ・Ativateメソッドで失敗 やはり、このエラーたちは一個ずつ地道に対応するしかないのでしょうか? エクセルの設定やファイルの保存方法などで劇的に解決できる方法があるのでしょうか? 当方、Excel 2010の経験がありません。 Excel 2010 VBA に詳しい方がいましたら教えて下さい。宜しくお願いいたします。

  • ken2r
  • お礼率88% (82/93)

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

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

・テキストボックスのEnabledが操作できない シート上の話でいいでしょうか? OLEObjects は操作できました。 Shapes は 2003 の時から Enabled は無かったかと。 テスト方法に問題はありませんか? ・Ativateメソッドで失敗 これは、Window が前面に出てこないような仕様と 関係あるかも。ですけど、そもそも Active~ とか Select~ といったものは 2003 の時代でも失敗する 可能性があったので使ってないですね。使うべきで ないです。 本当に Activate を使う必要がある場所で、 フォアグラウンドウィンドウ(Foreground Window) の制御と関係ある原因なら、API 等で対処しないと いけないかもしれません。 原因を無視した解決は無いと思います。

ken2r
質問者

お礼

エラーは、シートの最小化した後、そのシートに対する処理で連発していました。 Activateメソッドでのご指摘はズバリでした。 ご回答有難うございました。

その他の回答 (1)

回答No.1

PC の環境変化に対する VBA 動作テストの基本は参照設定です。 VBA のエディタで [ツール]-[参照設定] を見てみてください。 「参照不可」 となっているコンポーネントがあるかもしれません。 Windows XP + Excel 2003 の PC に別途インストールされていたが、Windows 7 + Excel 2010 の PC にインストールされていないコンポーネントがある。 → 当該コンポーネントを Windows 7 + Excel 2010 の PC にもインストールする。(ライセンス違反には気を付けたうえで) そのコンポーネントは Windows 7 + Exce3l 2010 の PC にもインストールしたが、Windows XP + Excel 2003 の PC とは違うバージョンのコンポーネントをインストールした。 → 参照不可になっているコンポーネントのチェックを外し、合致するコンポーネントをリストの中から見つけてチェックを入れる。 と、こんなところだと思います。

ken2r
質問者

お礼

教えて頂いた参照設定の仕組み等、とても勉強になりました。 ご回答有難うございました。

関連するQ&A

  • オフィス2003→オフィス2010へ移行の際

    エクセル2003、アクセス2003のVBAコード入りファイルがありますが それぞれ2010へ移行しようと思っています。 その際、使えないVBAコードはあるのでしょうか? 2003以降に作られたプロパティやメソッドがあると聞いたのですが それは、2010→2003の時にエラーになるかもしれませんが 2003→2010は、問題は起きないでしょうか?

  • Excel2007どうですか?

    もう使用している方、Excel2007は使いやすいでしょうか? 1.重大な不具合はありませんか? 2.Excel2000/2003karaスムースに移行はできますか?(データも含めて) 3.VBAはExcel2007で大幅に変わったのでしょうか?またExcel2000/2003で作ったVBAはそのまま使えるのでしょうか? 4.IMEが変わったとのことですが、Excel2007だけ購入してもIMEが変わるのでしょうか?(WindowsXP SP2使ってます) 5.自宅でExcel2007、会社でExcel2003というようにひとつのデータを使い続けられますか?

  • Excel2011のVBAについて教えてください。

    初めて質問します。 Excel2011forMACでVBAを使いBOOKを指定してクローズさせたいのですが、 エラー1004が起こりファイルを閉じることができません。 作成したVBAは以前にWindowsXP、Excel2000で作成したものを修正したものだったためなのではないかと思い、 改めてExcel2011forMACで下記ように、コマンドボタンをクリックすると"test.xlsx"を閉じるだけのテストを行いましたが同じエラーが発生します。 Private Sub CommandButton1_Click() Windows("test.xlsx").Close  End Sub 実行すると『実行時エラー'1004' _ オブジェクト'Close'のメソッド'Window'が失敗しました。』となります。 ちなみに、WindowsをWorkbooksにしても同様のエラーが発生しました。 Workbooksではファイルを指定しなければエラーは発生しないのですが、できれば1つのファイルを開いた状態にしておきたいと思っています。 このエラーの解消方法を教えていただけませんか。 それとも、MACでは個別にファイルを閉じることはできないのでしょうか。 Excel2011を使っているMAC OS Xのバージョンは10.6.7です。 VBAについては、初心者レベルで常にヘルプとマクロの記録を頼りになんとか作成しています。さらに、MACでVBAを使ったのが初めてで、この事象が一般的に知られていることなのかわかりません。いろいろ調べて同じような事例が見つけられなかったので質問させていただきます。 よろしくお願いします。

  • Excel2000/VBA:値と書式のみ貼り付けたい。

    Excel2000のVBAで値と書式のみ貼り付けたいのですが、可能でしょうか。2Excel2003なら Range("A1:Y100").PasteSpecial Paste:=xlPasteValuesAndNumberFormats でうまくいくのですが、Excel2000だとエラーがでます。「Range クラスの PasteSpecial メソッドは、失敗しました」とでます。これが、Paste:=xlPasteValues ならちゃんと貼り付けできますのでコピー範囲がセレクトされていない原因のエラーではないようです。

  • Excel2007 テキストボックスの均等割り付けの設定ができません(

    Excel2007 テキストボックスの均等割り付けの設定ができません(VBA) Excel2007を使用しています。 2003ではうまく動作していたVBAのプログラムがちゃんと動きません。 VBAでテキストボックスを作成し、均等割り付けをしたいのですが、うまくいきません。 (左よせになってしまいます) センタリングや右寄せ、左寄せはできます。 2007では均等割り付けは、対応していないのでしょうか?

  • WindowsXPからWindows7への移行

    私の学校では1台のWindowsServer2003R2をドメインコントローラとして2つの教室のパソコンを管理しています。 OSはWindowsXP SP3です。 これから1教室のパソコンをWindows7に移行しようと考えています。 移行に当たって、固定プロファイルの検証をしていますが、思うようにいきません。 ログオンしてもユーザープロファイルを読み込めないというエラーになってしまいます。 設定方法についてご教授ください。 WindowsXPではprofeditorでログインしてデスクトップ画面を設定し、netlogonフォルダにコピーしています。

  • Excel2013と2016に移った人に質問です。

    現在Excel2010を使用しています。 Excel2010ではVBAを使い、IEから情報を取り出したり、資料作成などにもつかってます。 そこでWindows10にアップグレードしたので、そろそろ最新のExcelに移行しよかと考えています。 ただ、ネットで検索してみたら、Excel2013はVBAが遅いなど、描写がもたつくとか、バグがあるなどネガティブな意見もちらほらありました。 そこで、Excel2007や2010から、Excel2013または2016に移った人で快適になったという人はいるのでしょうか。 とくに変化もなければ、移行は考えなおしたいと思います。

  • Access2007への移行で動かなく・・・

    よろしくお願いいたします。 Access2000で作成されたVBAのプログラムをAccess2007に移行しました。 そこでEXCELを入力して帳票出力している部分があるのですが、そこでエラーになるようになってしまいました。 ==エラーの部分== SQL = "SELECT * FROM `Sheet1$` IN 'c:\data.xls' 'EXCEL 8.0;'" Me.RecordSource = SQL これで“FROM句の構文エラーです。”と表示されるようになってしまいました。 色々と試してみましたが、どうしてもエラーになってしまいます。 どうか、お助けください。 ちなみにEXCEL 8.0をEXCEL 12.0に変更しても同じでした。

  • Excel VBA テキストボックスの入力を使用不可にした場合

    Excel VBA テキストボックスの入力のプロパティのEnabledをFalseにする使用不可になるのですが、グレーで薄くなってしまい見にくいのですが、何か良い方法はないでしょうか? 黒文字にしたいのですが・・・。 よろしくお願い致します。

  • Excel97から2003への移行

    Excel97で作成したプログラムをExcel2003で動作させたところエラーになりました そこでExcel97 → Excel2000、Excel2000 → Excel2002、Excel2002 → Excel2003、のそれぞれの段階でVBAにどのような変更があったのかをMSDNなどで調べているのですが、Excel2000以降、変更があったのか、なかったのかすら分かりません 変更があったのか、それともなかったのか。もしあったのなら参考になるサイト等があるのか教えていただけないでしょうか