フォーラムの返信を作成しました。
- 作成者投稿
- Masato参加者
江村様、いい感じに改善していただき感謝します。快適です。ありがとうございます。
Masato参加者バージョン: Pro 64bit Version 23.1.901
Masato参加者EmEditorのもつファイル分割と結合機能を用いて、低スペックマシンでも巨大ファイルを編集せねばならない場面を克服することにいたしました。
昨今のビジネスパーソンの多くはモバイル端末のディスクにコストをかけておりません。
ほとんどのデータをクラウドベースのストレージに格納することにしているからです。
またHDDが衰退し、SSDが搭載されていることがディスク空き領域の不足につながる環境要因の一つと言えるでしょう。
私のマシンではディスク空き領域は5GB程度しかないのですが、メモリーは16GBを搭載しているためディスクベースをOFFにして動作させてみるなど、安定して巨大ファイルを扱うための実験をしてみようと思います。Masato参加者再現手順がみえてきました。が、再現しようとすると不安定になるため、確定的な情報をお出しすることが難しいです。
以下の手順のため、サンプルファイルを送ることが難しいかと。前提
・ディスクの空き領域が少ないこと操作
・大きなCSVファイルを開く
・文字型フィールドに改行、カンマを含む編集を複数加える
・置換操作にて、置換後に保存した場合にディスク容量不足になりそうな置換を行う。
置換前より置換後の文字列が長くなり、結果的にディスクの空きがなくて保存できなくなる状況を作るということです。—
そもそも、そんなことするな。という話であることが見えてまいりました。Masato参加者当件、メモリ不足だと分かりました。
メモリの空き領域が十分な状態ですと一瞬で置換できました。
と、いうわけで自己解決とします。Masato参加者再現パターンとしては、”TEST”という文字列の繰り返しを30MB分程度改行なしで羅列し、置換機能にて”TEST”を”<TEST>”にすべて置換します。
どうも置換後に、より長くなるような置換をし、かつ大量の場合に応答しなくなります。
時間がかかるのは仕方ないと思うのですが、どのくらい待てばよいかもわかりません。それで適当な長さで改行を入れていくことにしてマクロ操作を記録して連続実行していたらクラッシュしました。
先程クラッシュレポートを送りました。Masato参加者ごめんなさい。再現しなくなりました。
ファイルを保存して、開き直したあとは再現しません。Masato参加者EmEditorマクロエラー
ステートメントがありません。
行1わかったこと
問題が発生するマクロファイル:
Option Explicit
Dim cur
cur = Formatdatetime(Now(),vbLongDate) & WeekdayName(Weekday(Now()))以降もコードがありますが、最低限上記のコードで発生することがわかりました。
Masato参加者beta 10 (22.0.910)
これまで使用していたマクロ(vbs)が使用できなくなりました。
1行目に Option Explicit と記載されていた行を削除すると動作したのですが、あまり意味のない行とはいえ他のマクロもあるので Option Explict と書いてあっても動くようにしていただけると助かります。
ご検討をお願いいたします。Masato参加者なるほど!
ありがとうございます。Masato参加者ご対応ありがとうございます。大変うれしいです。
Masato参加者補足:
使用しているのはVersion 21.1.0です。Masato参加者回答ありがとうございます。
Masato参加者20.0.4をダウンロードして動作を確認させていただきました。
理想的な挙動をしましたことの報告と、感謝を申し上げます。Masato参加者回答ありがとうございました。
Masato参加者誠にすみませんでした。この欄の意味がやっとわかりました。
で、申し訳ないのですが、Ctrl+Gでの行移動もできるようになるとうれしいです。この度は既存の機能なのに知らずに要望を出してしまい申し訳ございませんでした。
- 作成者投稿