• 締切済み

VBAで、テキストファイルの編集

yanmaaの回答

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.3

1~10のファイルを一つのファイルにしたいということですか? であれば 関数として Function AppendFile(InputFile as string,Fp as Integer) as Integer dim Fp2 as Integer Fp2 = freefile OPEN InputFile for Input As fp2 Do While Not EOF(fp2) Line Input #fp2, TextLine1 Print #fp, TextLine1 Loop close fp2 End Function を作成して 呼び出し側 sub Main() dim Fp as Integer dim rtn as integer Fp = freefile OPEN "最終ファイル" for Output As fp rtn = AppendFile("file1.txt",fp) rtn = AppendFile("file2.txt",fp) rtn = AppendFile("file3.txt",fp) rtn = AppendFile("file4.txt",fp) ・ ・ ・ close fp end Sub とするのかな DOSのコマンドを呼び出しするなら shell("COPY FILE1.TXT+FILE2.TXT+FILE3.TXT 結合ファイル名")

関連するQ&A

  • テキストファイルの右クリックメニューに印刷を追加す

    win7 64bitを使っています。 pdfファイルを右クリックすると印刷という項目があるのですが テキストファイルではこれがなぜかありません。 これを追加する方法を教えてください。 印刷ジョブにD&Dにテキストファイルを入れてみても このファイルを印刷できません。正しいアプリケーションからファイルを開いてから、印刷してください。 というエラーがでて印刷できません。 レジストリを確認してみると、 HKEY_CLASSES_ROOT\txtfile\shell\print というキーには %SystemRoot%\system32\NOTEPAD.EXE /p %1 が入っています。 system32をsystemに書き換えてみましたがうまくいきませんでした。 いまテキストファイルは秀丸エディタに関連付けられているため、 HKEY_CLASSES_ROOT\hidemaru.txt を確認してみましたが "C:\Program Files (x86)\Hidemaru\Hidemaru.exe" /p %1 が入っています。 印刷できるかは別としてprintというキーは存在するため 右クリックメニューに印刷という項目は出てきても良いと思うのですが なぜうまくいかないのでしょうか?

  • VBAでコマンドプロンプトを呼び出す記述で

    やりたいことはVBAからコマンドプロンプトにてBCP.EXEを呼び出してSQL文を実行することです。 コマンドプロンプトで直接打つと以下のようなコマンドになります。SQL文は長いので省略しました。 ************************* "c:\WINNT\system32\cmd.exe /k" "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " "SQL文" ************************* これをVBAで以下のように記述しました。 ////////////////////////////////////////////////// stAppName = "c:\WINNT\system32\cmd.exe /k" stAppName = stAppName & "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " stAppName = stAppName & "SQL文" Call Shell(stAppName, 1) ///////////////////////////////////////////////// 上のような記述だとコマンドプロンプトでは パスのダブクォテーションがなくなり ************************* c:\WINNT\system32\cmd.exe /k C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe ”SQL文” ************************* のように実行されBCP.exeのパスが通らず以下のエラーになります。 ///////////////////////////////////////////////// 内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ///////////////////////////////////////////////// どなたかVBAでコマンドのパスにダブルクォテーションをつける方法を教えてください。

  • VBAのSHELLを用いてEXEファイルを起動したものの、微妙にうまくいかない

    エクセルのVBAのshellを用いて、exeファイルを起動させてました。 exeファイルはCを用いたシンプルなもので、テキストファイルを作成します。(ソースは下記参照) C:\testのディレクトリにエクセルファイルを作成し、 Shell "C:\test\test.exe" を実行させたところ、ファイルはC:\testのディレクトリに出来ずに、マイドキュメントに出来ました。 このexeファイルを直接ダブルクリックしたときは、C:\testのディレクトリにテキストファイルが作成されます。 ダブルクリックしたときと同じように、C:\testのディレクトリにテキストファイルを作成する方法があれが教えてください。 よろしくおねがいします。 (ソース、hello.txtというファイルをつくり、hello!を書く) main( ) { FILE *fp; /* ファイルポインタ */ fp = fopen( "hello.txt", "w"); fprintf(fp,"hello!\n"); fclose(fp); return 0; }

  • VBAで他のプログラムを動かす

    VBAで他のプログラムを動かす時、 shellがあると思うのですが、これはexeファイルしか指定できないのですか? 具体的には指定したtxtファイルをメモ帳等で実行したいのです。 x=shell("目的のプログラム.txt",1) とやってもエラーが起こってしまいます。 どのようにしたらいいのでしょうか?

  • VBからファイル・アプリケーションの起動はどうやれば?

    VB6にて、簡単なプログラムを作っています。(個人的にです) コマンドボタンを押すと、保存してあるテキストファイル (例:"C:\a.txt")や、単純にノートパッドなどのアプ リケーション(C:\WINNT\NOTEPAD.exe)がオープンする ようにしたいのですけど、本やネットで検索してもイマイ チわからないです。 どうやればよろしいのでしょうか? 環境はWin2000ProのVB6(SP5)です。 よろしくお願いします。

  • VBAのShellの同期的実行

    ExcelVBAについての質問です。コマンドプロンプトで実行するプログラムをCで作成しました(これをXXX.exeとします)。このプログラムは計算が終了した後で、その結果のファイルを作成します(これをYYY.txtとします)。このプログラムを操作し、結果を表にして出力するために、ExcelVBAでshellを使って以下のようなプログラムを作成しました。   shell("XXX.exe")   call Output Outputでは、XXX.exeが作成したファイルYYY.txtからデータを読み込んでシートに結果を出力するのですが、うまくファイルを読み込みません。多分、shellにより実行したXXX.exeが終了する前にOutputが呼ばれているのだと思うのですが、もしそうだとしたらどのような解決方法があるのでしょうか。よろしくお願いします。 WinXp、Excel2000です

  • ACCESS2003 VBAテキスト編集

    テキストファイルに必要な部分だけ、別テキストに吐き出したいのですが、 元テキストの例 00,05,"0002027600002010102703154301253645 0001" 01,00,"STATUS-C " 02,00,"* あああああ 15時44分 *" 02,00,"* ABCDE 15時44分 *" 02,00,"* 123687あああ 15時51分 *" 上記のような、テキストファイルより、" "の間の内容を別テキストに 吐き出したいのですが、VBAでどのように記述したら良いですか? 開始の"は7桁目と決まっていますが、終わりの"は文字の最後に付くので 桁数は決まっていません。 別テキストに吐き出すときは、" "も取り除いて落としたいです。 簡単な説明で申し訳ありませんが、ACCESS2003 VBAのコーディングを 教えてください。

  • VBAでEXEファイルを動かす方法について

    エクセルのVBAをつかってC++で作ったexeファイルを起動させるプログラムを書きたいと思いますが、うまくいきません。 プログラムは下記です。 Sub Macro1() Shell ("C:\test.exe") End Sub エラーは出ないのですが、計算をしません。 ・VBEの参照設定のmicrosft scripting runtimeはクリックいれてます。 ・test.exe自体はクリックすると起動して計算します。 もし、対応策をご存知なら教えていただければ助かります。 よろしくお願いします。

  • テキストファイルとして開くVBA

    フォルダC:\Users\USER\Desktop\あいう において このダイアログを開いて そのなかのファイル(A.xml)を txtファイルとして開いて その名前を テキスト.txt として 同名で保存したいのですが Dim FileName As Variant Dim NewFile As TextFile FileName = Application.GetOpenFilename() Set NewFile = TextFile.Open(FileName) NewFile.SaveAs "テキスト.txt" Activetxtfile.SaveAs FileName:="C:\Users\PC\Desktop\あいう\テキスト.txt", FileFormat:=TextFile どうも違うようです 御教示ください

  • VBA Shell

    VBA のコマンドボタンで他のソフトを起動したいのですが Private Sub CommandButton1_Click() Shell "C:\Windows\Notepad.exe", 1 End Sub でノートパットは起動しますが マイドキュメントに置いてある XX.EXEを起動したくて Private Sub CommandButton1_Click() Shell "C:\Users\X\Documents\XX.exe", 1 End Sub としても起動しません この方法で マイドキュメントに置いてある XX.EXEを起動することは出来ないのでしょうか