● Windows10でExcel2000を動かす方法(インストール上の注意とSendkeys命令のエラーについて等々)

※2018/01/07 追記
この記事は、「Office2000 SR-1 Professional」でのお話です。SR-1でなかったり、エディションがPremiumやPersonalだと若干違うかもしれません。その場合は「office2000 windows10」や「excel2000 windows10」で検索して、ご自分に合った情報を探してみてください。
例えば「Office2000 SR-1 Premium」の場合は、http://toei5300daisukidesu.hatenablog.com/entry/2017/08/31/142524
が参考になると思います。

※2017/11/05 追記
ただ、Windows10の1703(別名 Creators Update)以降では、Excel・Wordはとりあえず動くようですがAccess2000だけは正常に動作しなくなりました。以下の記事をご参考にしてください。
「Windows10の1703 (別名 Creators Update) 以降とExcel2000・Word2000・Acces2000のインストールについて」
https://euc-access-excel-db.com/tips/ct07_se/ct071701_mini_system_make/excel-word-access-2000_install_to_win10-1703

※2018/09/18 追記
Windows10が「1803」になったら、うれしいことにまたAccess2000が動くようになりました。でも若干動きが不安定な気もしますので、上記の1703のときの注意をひきつづき意識だけしておくといいかもしれません。

※2017/11/09 追記
オートコンプリート機能について。
Excel2000は、オートコンプリート機能をOFFにしないと落ちやすいそうです。

参考Webサイト
Googleで「windows10 excel2000」で検索すると出てきますね。Win7からあったみたいです。Win10で落ちたことが無かったので知りませんでした。

・Windows10でWordとExcel2000を使う
https://maimokumemo.blogspot.jp/2017/06/windows10wordexcel2000.html

・Windows7でExcel2000が落ちまくる原因はオートコンプリートらしい

=================

以下、初めて書いた時の本文です。

※Office2000 SR-1 Professional でのExcelの場合の記事です。よくわからないのですが何故か、Webにあるように「オートコンプリートでExcelが落ちる」などのことは全くありません。Senkeysが動かないなどはVBA××.dllが古いとありますが。また、インストールの際には無視するダイアログも20個近く(少なくとも10個以上)出ます。でもAccessに対するODBC接続なども普通に使える見たいです。僕の場合は特にWin10やOffice2000を設定変更してはいません。単純にインストールしてOffice2000 のSP3を適用しなくても特には問題なく、大丈夫でした。(Win10のビルドが1703からは、Accessがちゃんと動かないですが、Excelは大丈夫みたいです。 ※2018年9月追記:1803では、Accessも微妙に不安定ですがおおむね大丈夫になったっぽいです。)

  
  

基本、Windows10には、「Excel2000(Office2000)」をインストールできます。
(もちろん動作保証対象外ですから、自己責任でよろしくお願いいたします。)

インストール時にエラーが20個くらい出ますが、全部「無視」を押して無理やり入れると入ります。当サイトの事例くらいは正常動作します。
VBAもAPIも動作します。
(少し手間はかかりますが自ファイル内でのMicrosoft Queryのネスト=多段化もできるようです。)

できないのは、Accessでのレプリケーション、adpファイル作成(SQLServer接続等)など、高度なものはできないかもしれません。
ODBC関連はインストール時にかなり関連してそうなファイルでエラーが出るので、ちょっとダメかもしれません。
でもExcelへのODBCは大丈夫っぽいです。
多分、Accessへも大丈夫な気がします。

いずれにしても基本機能は問題なく使えますので、もしOffice2000やExcel2000をお持ちでしたら、是非、本書の内容をお試し頂きたいと思います。

独学にも、実務にも役に立つと思います。
Amazonでも「Microsoft Office2000 Personal Service Release 1」が数千円で売っています。データ集計や明細印刷をラクに行いたいのでしたらExcel・Wordは想像以上に(VBAなしで)使えるので、買う価値はあると思います。

ただし、注意点としてましては、「複数のバージョンのExcelを共存させない」、「必ず1つのOSに対して1つのExcel(Office)だけを単体でインストールする」ということです。
複数のバージョンのExcelを共存させてしまうと、ODBCドライバがおかしくなって、どちらのバージョンもMicrosoft Query の動作がおかしくなってしまいます。

ですので、もし1つのWindows10の中で複数のExcelを共存させたい場合は、Windows10+Excel2010 などの上で、VMWareなどで仮想マシンを作成し、その中に「Windows2000+Excel2000」などを構築していきます。

※Microsoft Queryや他のデータベースソフトなどへの接続を絶対にしない、ということなら 共存させても良いとは思いますが、ただその場合、もし途中でいずれかのバージョンでMicrosoft Queryが使いたくなってしまうと、OSの再インストールからやらないといけないことが少なくありません。ExcelやOfficeの入れ直しだけでは治らないことが少なくないので、超面倒くさいですから、できれば共存は避けてください。

************************************

「Sendkeys」命令のエラーについて

VBAには「Sendkeys」という命令があるのですが、Excel2000のSendkeys命令は、通常だとWin10上ではエラーが出て動かなくなってしまいます。

ただ、この命令は、UACをOFFにしたり、「vbe6.dll」というファイルを最終バージョンにするもしくは対策されたバージョンにすると出なくなるそうです。

「vbe6.dll」のありかは
C:\Program Files\Common Files\microsoft shared\VBA\VBA6
ですので、ここにあるvbe6.dllを最新のものあるいは対策されたものと入れ替えます。
(64bitのWin10では、「Program Files」が「Program Files(x86)」になっている場合もあります。あと、ライセンス上、どうなっているのかはマイクロソフトさんに聞いてみてください。自分はOffice2007を持っているので、テストしたところ、「vbe6.dll」をOffice2007のものを入れ替えたら確かにSendkeys」命令でのエラーは出なくなりました。僕の場合、基本的にはSendkeys命令を使う場合は Windows2000の仮想マシン上でExcel2000を動かしているのでこの処理は必要ないのですが・・・)

詳しいことは以下のURLを参考にしてください。
https://tunemicky.blogspot.jp/2012/08/windows7-vb6-vba-sendkeys-70.html

※なお、この「Sendkeys」命令の問題は、XP+Excel2003などの場合、Win32APIを使う方法でも解決ができます。
なので(試していませんが)、OSとExcelの組み合わせによっては、その解決方法でも大丈夫かもしれません。
Web検索:sendkeys 代替 api

※セキュリティ上の注意
Excel2000を載せるパソコンとして、OSをXP以前のもので使う場合は、情報漏洩防止のためにできればLANやWebから切り離して使ってください。
2017年2月現在、「ESETセキュリティ」がXPのサポートを終えてしまいましたが、「フォーエバーセキュリティ」などのセキュリティソフトがまだXPをサポートしてくれているようですので、そういうソフトを使うのも一つの方法かもしれません。

「フォーエバーセキュリティ(旧 XPフォーエバー)」※有料です。¥3,999-
(検証してませんので詳しい方に見てもらってください)
http://foreversecurity.dnki.co.jp/
http://www.vector.co.jp/magazine/softnews/140328/n1403281_author.html (Vector紹介)
http://dnki.co.jp/system/joomla_1_0_xx/joomla_1_0_15JP_Stable/content/view/170/1/

基本的には、Webブラウザやメールソフト、USBコネクタなどを使わないと決めて使えば、「AVASTなどの」無料のウィルスチェックソフトでも良いかもしれません。でもできるならWeb接続しないようにしてください。
XPでのLANやWebへの接続は推奨はしません。情報漏洩を起こしても誰も責任が取れませんので・・・

必要に応じて、「Process Explorer」についたVirusTotalでのチェック機能で、メモリに読み込まれたファイルのウィルスチェックもしてみてください。
★Process Explorer でロードされているファイルをVirusTotalでチェックする
http://maruton-memorandum.blogspot.jp/2014/12/windowssysinternalsprocess-explorer.html

やむをえない場合で ファイルサーバにつなぎたい・・・などのときは以下のことを必ず守ってください。
●基本的に無線LANは使わない。
必要な場合以外は常時LANケーブルを抜いておく。
あるいは、LAN接続アイコン右クリックにて手動でLAN接続を有効化・無効化する。
あるいは、LANを使いたいときだけ、バッチファイルやUWSCなどで、
ダブルクリック一回でLANのON・OFFをする。
●必ずタスクトレイにLAN接続アイコンを表示しておく(接続チェックしやすいため)
●ルータかHUBのアクセスランプが目に入るようにしておく(接続チェックしやすいため)
●もし、知り合いの方が「Sygate Personal Firewall」を持っていたらそれを入れておく。
(古い無料ソフトなので変なところからダウンロードするとダメかもしれません。無ければ入れない)
あるいは、怪しいソフトが動いたときにわかるようなソフトを入れておく
あるいはAVASTではなく評判のいい無料の総合セキュリティソフトをいれておく

●Webブラウザやメールソフト、USBメモリ・USB外付けドライブ、CD、DVD、は使用禁止
●USBメモリを使うときは、使っていいUSBメモリを決めてそれ以外使わないこととし、
他のWin10パソコンで毎回ウィルスチェックしてからデータコピーする。
●無料のセキュリティソフト以外の無料ソフト、Acrobat、Flash、JAVA、などの使用は厳禁
●特にWebブラウジングとメール、無料のソフト=フリーウェアは絶対に禁止です。

以上を守れば 2017/02月時点に限って言えば、ほぼLAN経由の感染しかありませんので、XPパソコンが原因で社内LANがウィルス感染することはまずありません。(逆に他のマシンからLAN経由で感染する可能性は依然としてありますし、今後またいろいろ出てくるかもしれませんので慎重にご利用ください。意味が少しでもよくわからなくて「こんなんじゃダメ」と思えなかったら、絶対にXPは使用せず、Win10などにきちんと総合セキュリティソフトを入れて、そこへExcel2000をインストールして使ってください。)

※★★仮想マシンにXPを入れて仮想LANアダプタを手動停止さて、その中でExcel2000を動かすのでもいいと思います。ファイルサーバからは元となるデータをコピーして、仮想マシンに張り付ける方法がいいかと思います。(セキュリティのことをあまり考えたくなければ、これが一番安心かと・・・)