質問: vba素人です。 最大300文字の文章データが一つのセルに入っており、下方向に2万行格納された ex vba素人です。 最大300文字の文章データが一つのセルに入っており、下方向に2万行格納された excel ファイルがあります この中の特定の文章を replace を使って2万行変換していきます。 ただし事情がありこの大量の文章データが格納されたエクセルファイルを人間が手で開封することができない環境を考えています。 マクロのリプレースのプロシージャは別途マクロ用のエクセルファイルに用意しています。ファイルは閉じています。 マウスでこのデータファイルをマクロのエクセルファイルのアイコンの上ドラッグアンドドロップをするなどしてマクロを走らせることは可能でしょうか?
回答: こんにちは、 自分だったら、どうするかな、、 ドラッグ&ドロップにこだわるなら、vbsで excel ファイルをapplication.visible = falseで開いて vbsで出来るか分かりませんが、保護を解き シートをvisible = true replace 処理した後 設定、save みたいな、、 対象のexcel ファイルは、ダミーシートを1シート用意して 他のシートをvisible = xlveryhidden vbaプロジェクトを保護 (開いてもダミーシートしか表示できない) 対象のexcel を上記のように作っておけば、 excelvbaのボタンなどから処理してもドロップが出来ないだけで同じかな。。(replace 処理は少々難ありかも知れませんが) 各オブジェクトを明示しないとならないですね。 読んでいませんでした。 >データファイルは最初実はパスワードがついた状態で到着します。 パスワードロックの内容(対象)によりますが、解けると思いますよ。 >データファイルのアイコンをマクロファイルへドラッグ&ドロップして これはだいぶ困りますね。(excelvba出来るのか、、) 取り敢えず、 材料が少ないので具体的には例を出せませんが、出来ると思いますよ。 範囲を狭めて作成、テストをしていくのが良いと思います。 お出かけします。