1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

splwow64が原因でマクロがメモリ不足で落ちたこと

Last updated at Posted at 2017-06-22

かなりハマったので残しておきます。

#環境

  • OS:Windows 10 professional 64bit
  • メモリ:16GB
  • ソフト:Excel 2010 32bit 64bitでした。。。

#現象
##やろうとしていたこと
Excelのマクロで「ファイルを開く→操作→保存→閉じる」をフォルダ配下のファイルに対してLoop実行

##起こったこと
ある程度実行するとWindowsのダイアログでメモリが不足しています、と表示されマクロが落ちる

#調査と対処
##対処その1:まず疑うは己の未熟さ
ということで、マクロでオブジェクトの開放をし忘れているんじゃないかと考え、使い終わったものは手当たりしだいに空にしていく
##結果その1
ハズレ。事象は変わらず。
##現象を再確認
メモリ不足とは、一体何が不足しているのか、タスクマネージャーから確認
→マクロ実行中にコミット済みメモリが際限なく増え続ける
##対処その2:外からメモリ解放させてみる
Windows Server 2003 Resource Kit Tools
とりあえずこれで試してみる。
##結果その2
効果なし
##対処その3:splwow64を終了してみる
【Windows10 Creators】印刷時にコミット済みメモリが解放されずにどんどん増える。最終的にメモリ不足になり画面が真っ黒になる
調べているとこんな記事にも遭遇。環境的には当たりだけど、印刷してない、けど印刷設定はいじってるな。。。とか思いつつ、タスクマネージャーからsplwow64を終了してみる。
##結果その3
コミット済み27GB→3GBまで減った。こいつが原因!

#根本対処
結論から言うとまだです。
使っているプリンタのドライバは削除しましたが、改善していません。
現状、ループをある程度に切って、都度プロセスを終了しています。
解決策を見つけたら追記します。& ご存知でしたらコメント下さい!

#2017/06/24追記
環境について思い違いがあってOfficeが64bitでした。64bitアプリケーションでsplwow64が呼ばれる事自体なんかおかしい気がしています。
対処としてはofficeを32bitにするか、最新版のOfficeにするかですね。
そもそも2010なんか使ってるんじゃないよって話で。

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?