[ 新規に投稿する ]

datの加工をexcelかませて行いたいNo.00461
温泉さん さん 17/04/28 16:56 [ コメントを投稿する ]
  お世話になります。
業務の都合でデータが入っているdatファイルを置換したいと考えています。
秀丸エディタは使ったことがないため、最初から作成することになりそうです。
ですが、ある程度は開発の知識があるので、公開されてモジュール程度(dll)は何とかわかると思います。

今回行いたい作業はdatファイルにある文字列をexcelにあるvlookupのような機能で置換を行いたいと考えています。

excelにインポートし置換自体は簡単なのですが、datにつき保存すると元のデータ形式が変わってしまうのでexcelだけでは難しいと考えております。^^;

扱うdatファイルは文字数値スペース混在の1行150文字、
それが大体600行〜700行あるものになります。

今までの運用方法ですと、
1.excelでdatファイルを開き、vlookupを使い変換
2.秀丸エディタのその他→コマンド一覧→クリップボード系→BOX選択開始をつかい
datの1行150文字のうちの91行目〜94行目を1〜600行に変換データを貼り付け
という形で対応していました。

これをマクロ等を使い自動化することは可能でしょうか?
行いたい流れは
datをコピーしdat2を作成→
dat2をexcelにインポート、データを加工し文字列を取得→
その文字列をBOX選択機能を使いdatに貼り付け となります。

ぶしつけな質問で恐縮ですが、ご教示いただければと思います。
どうぞよろしくお願いいたします。


[ ]
RE:00461 datの加工をexcelかませて行いたいNo.00462
h-tom さん 17/04/28 22:59 [ コメントを投稿する ]
 
h-tom です。

Excelで主な処理をするなら、vbaか、WSHで処理した方が良いのでは?
別のアプリケーション間を連携させるのは、大変だと思いますよ。

>datの1行150文字のうちの91行目〜94行目を1〜600行に変換データを貼り付け
>という形で対応していました。
行ではなく桁?
91〜94桁を切り出すのも、vbaか、WSHで特に問題なくできるでしょう。
[ ]
RE:00461 datの加工をexcelかませて行いたいNo.00463
vscode-life さん 17/04/29 09:14 [ コメントを投稿する ]
 
・どこの範囲を自動化したいのか?
 └ 全部自動化したいのか? 全部自動化は「理由がありマズい」のか

・なぜ全部自動化はまずいのか、
 └ 人間の「目による判断」もしくは「手による選択」が必要なのか

・Excelを、なぜ挟む必要があるのか
 └ 人が見るため? ファイルを開いた時、
   Excelの長大な(悪い意味での)秘伝のタレのようなVBAマクロを動作させる必要があるため?

・秀丸を、なぜ挟む必要性があるのか
 
を明確にし、記載していただいた方が、より適切な解決法が得やすいと思います。

---------------------------------------------------

参考になりそうなトピック

・秀丸マクロ
 run系文、runex文 などがあり外部プログラムを実行可能

・秀丸エディタが8.66以上か8.64以下か
 (a)8.66以上なら、インプロセスで「別言語(C#なりECMAScript2015なり)主軸」で処理をし、
   秀丸のプロパティ的なものにアクセスする部分だけ秀丸マクロを利用が楽。

 (b)8.64以下なら、アウトプロセス(外部コマンド等 C#なりPythonなり)で処理し、
   結果を受け取って、秀丸マクロを薄く経由して、秀丸に結果成否に関して表示等が楽。

・注意点
 ExcelをCOM操作するのは最終手段、
 「解放し、Excel閉じてるつもり」が閉じられていないことも多く残骸が残りやすいので、
 業務で反復実行する際は危険。
 C#からのClosedXMLなど、操作が楽で解放漏れが発生しにくいものを検討

・datの処理
 単純にdatが文字列の羅列で700行あって、これを処理するのを、
 「業務の流れの工程」としてきっちりと制作するということであれば、
 C#で「正規表現」か、上記「excelのIOライブラリ」か何かでデータを一度取得・分析して、
 System.Collections.Generic型のいずれかに放りこみつつ
 処理をするのが一般的だと思います。

 「業務とはいえ、適当な書き捨てに近いレベルで良い」なら、python/ruby/powershell/vbsといったものでdatを処理した方がよろしいかと。
[ ]
RE:00461 datの加工をexcelかませて行いたいNo.00464
秀まるお さん 17/04/29 13:35 [ コメントを投稿する ]
   Excelのvlookup関数を使った処理は、秀丸エディタのgrepに置き換えることは
可能かと思います。それが出来れば、datファイルの変換関係の処理を全部秀丸
エディタ上でのみ完了できるようになるので、そうすれば、その処理をマクロに
直すことも出来るんじゃないかとは思います。

 具体的にどういうデータでどういう検索をかけてどういうコピペ処理なり変換
なりが必要なのか分からないと誰も作ることは出来ないですが、例えば具体的な
サンプルデータとそれを加工する時の手順、および加工してる最中の中間データ
のサンプル、最終的に加工済みになったデータのサンプルなどをアップロードす
れば、もしかしたら親切な人がマクロを作ってくれる可能性はあるかと思います。

 (詳しい人が簡単に出来る程度の処理なら)
[ ]

[ 新規に投稿する ]