- ベストアンサー
エクセルマクロで外部ファイルを開きたい
DOUGLAS_の回答
- DOUGLAS_
- ベストアンサー率74% (397/534)
前回答の >【3】「張り付けたあと」の操作について に書きましたとおり、No4 の コード を弄ってみました。 ただし、グループ 設定の条件は、 ・各グループ 内の データ は、「F - E - D - C - A - B」の順で、各列の内容を1行目から最終行まで書き込んでから、次の行に移る。 ・最初の グループ は、「A1:F20」、次の グループ は 26行目 から。 ・グループ と グループ との間には必ず空白行(1行のみ)がある。 ということで、コード を書いております。 なお、F列に「空白」がある場合は考慮しておりません。 そういうことがある場合は、別途お示しください。 また、 >>当然2のところも、追記部分は手動 >これも、「追記文字はファィルごとに変わ」る法則があれば簡単なことです。 >法則がなければ、配列に入れておくという手もあります。 につきましては、状況が分かりませんので、単に「& "追記文字"」としております。 条件をお示しくだされば、その部分を考えてみましょう。 '------------------------------- Sub Create_TextFile_for_each_Group() Dim FSO As Object Dim wshShell As Object Dim rngStart As Range Dim strFILENAME As String Dim TS As Object Dim i As Integer Dim j As Long Dim k As Integer Set FSO = CreateObject("Scripting.FileSystemObject") Set wshShell = CreateObject("Wscript.Shell") Set rngStart = Range("F1") Do k = k + 1 'グループ ごとに テキストファイル を作成。 strFILENAME = Cells(rngStart.Row, "F").Value strFILENAME = Left(strFILENAME, 9) & "追記文字" strFILENAME = "D:\hoge\" & strFILENAME & ".txt" Set TS = FSO.CreateTextFile(Filename:=strFILENAME, Overwrite:=True) For i = 1 To 6 For j = rngStart.Row To rngStart.End(xlDown).Row If i = 1 And j = rngStart.Row Then TS.WriteLine strFILENAME Else If Cells(j, Mid("FEDCAB", i, 1)).Value <> "" Then _ TS.WriteLine Cells(j, Mid("FEDCAB", i, 1)).Value End If Next j Next i TS.Close '次の グループ の先頭位置を確認 If k = 1 Then Set rngStart = Range("F26") Else Set rngStart = rngStart.End(xlDown).End(xlDown) End If Loop Until rngStart.Row = Rows.Count Set rngStart = Nothing Set TS = Nothing Set FSO = Nothing Set wshShell = Nothing End Sub
関連するQ&A
- エクセルの終了マクロ
エクセルのマクロの記述で、 処理が終われば、マクロを記述しているエクセル自体を終了(ワークブックではなくアプリケーション)させたいのですが、できるでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルのマクロを記述したファイルを呼び出して実行
エクセルのマクロを記述した外部ファイルを作成しておいて メイン(普通)のマクロの実行中にそのファイルを読み込んで、 マクロを実行させることは可能でしょうか? 可能なら方法をお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelファイルがマクロを含むか調べるには?
Excell2003で作っていた多量のExcelファイルを、Excel2010で動かす事が必要になってきました。 で、指定フォルダにある複数のExcelファイルが、マクロを含んでいるかどうかを調べたいのです。 加えて、マクロを含んだExcelファイルのファイル名をリストアップしたいのですが、 どの様にしたら良いでしょうか? 適切なマクロなりともご教授いただきたく、よろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
- エクセルのマクロで外部ファイルを開く
セルに入力した内容をファイルネームとして外部ファイルを開きたいのですが どうすればいいのかわかりません。 具体的には 1.外部ファイルはFDで供給されます。 2.FDに入れられるファイル名は毎日かわります。 3.ファイル名は固定された名称+日付のフォーマットです。(例:file0802) 4.やろうとしているのはA1に\"file\"、B1にtoday関数で日付を入力して A1+B1をファイル名としマクロよりそのファイル名でFDのファイルを 開きたい。 5.開いたファイルの一部をコピーしてHDD上にあるエクセルのファイルに ペースト、このファイルにマクロを組み込みたいのです。 help等をいろいろ見たのですがこの内容に関するものが見つけられません。 もしかしたら出来ないのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelで外部ファイルの取り込み(データの更新)をマクロ化したい
C:\data のdataフォルダの中に「20060709.dat」「20060710.dat」「20060711.dat」・・・というようにファイル名に日付が入ったファイルがあります。 例えば、(データ)→(外部データの取り込み)で"sheet2"に「20060709.dat」を読み込んでいるとしします。 この時に"sheet1”のセルA1に「20060710」と入力してマクロボタンをクリックすると"sheet2"に「20060710.dat」を(データ)→(データの更新)で読み込むというような作業をマクロで自動化することは可能なのでしょうか? 可能であれば教えて頂きたいのですが。どうぞよろしくお願いします。 ちなみにマクロに関しては(自動記録)で作ったマクロを少しいじる程度の知識しかありません。Excel2000を使用しています。 以上、どうぞよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 秀丸のマクロでファイルを新規秀丸にコピーしたい
王次郎っす お疲れさまです 秀丸エディタのマクロ関数を使用してファイルの内容を新規秀丸にコピーしたいです クリップボードを使わずにコピーできる方法があったら教えてください 例えば、「memo.txt」というテキストファイルを開いた状態でマクロを実行した場合に 新規秀丸を作成し(newfile)、「memo.txt」の内容を新規秀丸にコピーしたいです。 クリップボードを使用すればできますが(copy⇒paste)、それだとクリップボードの内容が 消えてしまうのでクリップボードは使いたくないです。 よろしくお願いします
- ベストアンサー
- その他([技術者向] コンピューター)
- Html(表)のExcel出力
現在、JavaScriptで以下の処理を行い、Htmlで書かれた 表をExcelで表示しています。 1.Htmlをクリップボードにコピー 2.new ActiveXObject("Excel.Application")でExcelインスタンスを 生成 3.Workbooks.Openでワークブックをオープン 4.オープンしたワークブックにクリップボードのHtmlを貼り付けて表示 以上の処理を、クリップボードを経由せず、Htmlで書かれた表をExcelに 表示することはできますか? お心当たりのある方はご教示お願いします。
- ベストアンサー
- Microsoft ASP
- EXCELで外部ファイルを参照したい
EXCELで外部のテキストファイルを相対アドレスで参照したいのですが、マクロでないとできないのでしょうか。 たとえば、 他のファイルを参照するのは、「データ」→「外部データの取り込み」でできるのですが、特定のアドレスかファイル(絶対アドレス)しかできません。 (例えば同じフォルダ内にあるa.txtを参照したいときは、./a.txtみたいに。) どなたかわかる方、教えてください。
- ベストアンサー
- オフィス系ソフト
- Html(表)のExcel出力
現在、JavaScriptで以下の処理を行い、Htmlで書かれた 表(<table>タグで囲まれている)をExcelで表示しています。 1.Htmlをクリップボードにコピー 2.new ActiveXObject("Excel.Application")でExcelインスタンスを 生成 3.Workbooks.Openでワークブックをオープン 4.オープンしたワークブックにクリップボードのHtmlを貼り付けて表示 以上の処理を、クリップボードを経由せず、Htmlで書かれた表をExcelに 表示することはできますか? お心当たりのある方はご教示お願いします。
- ベストアンサー
- JavaScript
- エクセルで個人用マクロを移すには
エクセル2002で使用していた個人用マクロを、他のPCにインストールしたばかりのエクセル2003で使えるようにするには、どういう手順をとればいいのでしょうか。 エクセル2002がある方のPCの、 C:\Documents and Settings\User\Application Data \Microsoft\Excel\XLSTART\PERSONAL.XLS を、 エクセル2003があるPCのXLSTARTフォルダにコピーしてみたのですが、エクセルファイルを開いてVBエディタを起動しても、個人用マクロの標準モジュールが表示されないのですが。
- 締切済み
- オフィス系ソフト
お礼
連続作成など色々な手法を教えていただき、ちょっと混乱してしまってますので、 最初の追記案に絞って質問をスタートさせてください。 No1の追記でファイルの呼び出しと貼り付けができました。 したがってまずはここまでで私の要求は満たされました。 次に行うのはEmEditor上で (1)空白行の削除(2)1行目の記述内容の部分修正(3)ファイル名の取得(1行目の記述部分) (4)保存メニューの呼び出し(5)保存ファイル名(3)の貼り付け(6)保存 となり(1)(2)をEmEditorマクロで、(3)(4)はEmEditorの別マクロで、(5)(6)は手動 これは今までのEmEditorマクロから「貼り付け」を略せばいいのでそのまま使えます。 ※保存メニューの呼び出しと保存ファイル名の貼り付けは、自動記録マクロではできなかったのですが VBで組めばEmEditorでもできるといわれたものの、残念ながら組めないため手動にしています。 ついては、この(1)~(6)の部分でエクセルマクロに組み込めるものが追記でできるものがあれば それも取り込めることができればなお都合がいいと思ってます。 素人的な考え方では、エクセルの貼り付け内容をEmEditorに張り付ける前に、 エクセル上の予備セルに張り付けて、そこで空欄を削除し、1行目を修正し、ファイル名を取得したあと、 再度データ内容をクリップし、EmEditorを呼び出して修正後の内容を張り付けたら あとはEmEditor上で保存メニューの呼び出し、ファイル名の入力と保存だけで済むのかなと思ってます。 それが可能になった段階で連続作成のトライもしてみたいと思います。 No6についてはこれだけのマクロでデータ収集~貼り付け~テキスト保存ができるか試したのですが、 ちょっとうまくゆかなかったもので後回しにすることにしました。