【vba】MSXML2.DOMDocumentでエラー!!

もうすぐ夏ですね!
この時期、私の仕事が極端に増え、猛烈にストレスが貯まるんです!

実際、今日の私は疲労の為かなり弱っています:-(

その理由が、複数社から届く大量のドリンク注文のExcelデータ処理。
縦軸がお届け先情報、横軸が商品リストのマトリクス表。

この物件を受注した初年度の1ファイル目、取り合えず慣れた事務員に手入力を依頼。

すると、1ファイル入力に丸一日!
入力後、「こんな大変な仕事2度としたくない。今度やれと言うなら辞める」と怒られました!

そこで作ったのが、Excelのマトリクス表をAccessのテーブルに変換するVBAプログラム。

それ以降、1年に2回、夏冬にあるこの物件の売上データ作成担当は私です。

複数社から届くExcelシートは、毎年微妙にレイアウトが変わるので、それに合わせてプログラム変更。
私一人で1000行超の売上データを出荷作業の合間に作ってるんです:-(

大変そうでしょう!?
実際、大変なんですよ!

一括データ生成プログラムってうまく動けばいいのですが、処理対象のExcelデータのレイアウトが毎回変わるので、ファイル毎にプログラム調整が必須。

プログラムを書き間違えると、
「商品名を別の列から」
「お届け先を違う行から」
「販売価格を別の行から」的な売上計上ミスが起きてしまいます!

バグが有るまま売上データ1000行を一括生成してしまうと、間違い納品、間違い請求で大混乱!

商品交換に追われ、請求し直し、そして信用を失っちゃいます。
毎年この時期、胃痛がし、悪夢を見ます:-(

で本題、初代プログラム完成から8年。
追加機能も増やしながら毎年バージョンアップ。
オフコン一括売上処理用固定長ファイル生成、発注表・ピッキングリスト・請求書・宅配送状印刷、そして配送先地図作成機能など・・・

あると便利になる追加機能を作りこんできました。

その中、僕のお気に入りが配送先地図作成機能!(不安定でエラー続発の機能なんですが・・)

配送先地図作成機能

実務でも好評で、配送先の場所・分布・商品体積の把握、未配送・配送済みの確認に使っています。
配送先地図作成機能

Google Static Maps APIを使ったこの機能、毎年初回の実行はエラーで必ず動かないんです!
その理由は、突然変更されるGoogle Map APIの仕様。

[Google Maps API ウェブ向け Static Maps API]

で、また2016年にも止まりました!
でも、今年のエラーは今までのものと違うぞ・・・・:-o

MSXML2.DOMCocument:コンパイルエラー:ユーザー定義型は定義されていません。

配送先地図作成機能

やれやれ・・・では、いつものトラブル解消方法、Googleで「MSXML2.DOMCocument エラー」を検索!

で、このページを見つけました。
[MSXMLを使ったExcel VBAがWindows 8.1で動かない時の対処方法]

Windows8.1からMSXML2.DOMCocumentが廃止されてv6.0用のDOMDocument60だけになったそうな・・・・
僕のマシンはWindows10なので、確認すると確かにDOMDocument60以外すべて廃止されてます!

配送先地図作成機能

解決方法が分かったので早速プログラム変更

「Dim doc As MSXML2.DOMDocument」を
「Dim doc As MSXML2.DOMDocument60」と書き直したら無事動きました!

バンザイヽ(^。^)ノ

■関係ないですが:

MS-Accessと同じジャンルで売られ、よくAccessと比較される素人開発者向データベースソフトFileMakerの話。

私、FileMaker12と13の開発経験が2年ほどありますが、開発がすご〜くし難いので勉強を止めました!
FileMaker14、15とバージョンアップされる度に、少しは改善されたかなと機能チェックしていますが、使えない開発周りは全く改善されてるように見えません!

その上で、驚くのが
「すでにMS-Accessはライバルでない!最新版FileMakerは完全に超えている」的な
書き込みが増えてること!?

へぇ〜、そうなの:roll:

FileMaker開発屋さんに、縦軸が送付先、横軸が商品リストのマトリクス表の受注処理システムの開発を依頼しても、きっと彼らは作れないと思います:-x

FileMakerは非常に狭い制限の中ならGUIで簡単にデータベース開発できるソフト。
でも、その前提から外れた情報処理は、ほぼ無力です!

MS-AccessとFileMakerは、ライバルではありません。
MS-Accessは、後にも先にもFileMakerよりずっと格上(=複雑なことが出来る)開発環境だと私は思っています。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA