DOS画面から規定のフォーマットのエクセルデータに.CSV
データを読み込ます事はできないでしょうか。
ちなみにDOS画面から.CSVデータを読み込ますことは
できました。

例えば下記のように
C:>C:\PROGRA~1\MICROS~1\OFFICE\\EXCEL a.xls b.csv

以上よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

既存のCSVファイルに、別のCSVファイルを追加することなら、可能です。



Book2.CSVにBook1.CSVの内容を追加するなら、

c:>type book1.csv >> book2.csv
c:>"E:\Program Files\Microsoft Office\Office\EXCEL.EXE" "book2.csv"

ってな感じのバッチファイルを作ればいいです。

※ちなみに、ダブルクォーテーションでファイル名を囲めば、ロングファイル名を使ってもOKです。

XLS形式にCSV形式のファイルを追加しようとするなら、マクロを組まないといけないでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。マクロのほうで考えてみます。

お礼日時:2001/01/03 12:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QXLSファイルをCSVファイルに変換してエクセルで読み込ませたい

こんにちは。シグマリオン1の連絡先に入力していたファイルをポケットエクセルにコピーしてPxlcsvファイル(Pxlファイル?)で保存しました。それを、XLSファイルに変換して、ノートパソコンにコピーしました。そのXLSファイルをCSVファイルにしてエクセル又は、Outlookで読み込ませたいのですが、どうしたらいいのでしょうか?教えて下さい。宜しくお願いします。

Aベストアンサー

>XLSファイルをCSVファイルにして
これだけなら
(1)XLSファイルをエクセルでひらき
(2)名前をつけて保存で「ファイルの種類」を「CSV」で保存

Qエクセルでcsvデータを自動読み込みする方法(至急)

csv形式のファイル(内容は計測値データ)をエクセルに読み込み、csvファイルの各データが規定値内に納まっているかの確認が容易できる方法を探しています。

このとき条件として、
(1)csvファイル内のデータは10項目程度。
(2)csvデータはランダムに更新される。
(3)エクセルに読み込むときはエクセルシート内の決められたセルにそれぞれデータが格納されること。
(例)csvファイルに"110"と"119"の2種類のデータがあった場合、あらかじめxlsファイルのセルA1に「警察」、セルA2に「消防署」と記入しておき、csvファイルのデータを読み込んだとき、セルB1に"110"、セルB2に"119"と入力される。
(4)csvファイル自体は開かず、必要なときにあらかじめ作成したxlsファイルを立ち上げると、自動でcsvファイルの内容を吸い上げる。
(5)入力されたデータの適否をそれぞれ判定する。
(6)xlsファイルを立ち上げている間にcsvファイルが更新された場合、xlsファイルの更新方法は手動と自動を選択できる。

こんなこと出来るでしょうか?
特に(4)が困っています。csvファイルをエクセルで開いた状態であれば、この内容で出来たのですが・・・。
どなたか良い方法があったら教えて下さい。お願いします。

csv形式のファイル(内容は計測値データ)をエクセルに読み込み、csvファイルの各データが規定値内に納まっているかの確認が容易できる方法を探しています。

このとき条件として、
(1)csvファイル内のデータは10項目程度。
(2)csvデータはランダムに更新される。
(3)エクセルに読み込むときはエクセルシート内の決められたセルにそれぞれデータが格納されること。
(例)csvファイルに"110"と"119"の2種類のデータがあった場合、あらかじめxlsファイルのセルA1に「警察」、セルA2に「消防署」と記入しておき...続きを読む

Aベストアンサー

(4)に対する回答です(応用すれば(6)もできるでしょう)。

たぶん、マクロを使わないとできないと思います。マクロを使っていいならいろいろ方法はあるでしょうが
一例として

1)マクロを組み込みたいブックを開き、[Alt]+[F11]でVBエディタを開きます。

2)通常左上に表示されるプロジェクトエクスプローラーの「ThisWorkbook」をWクリックします。

3)右側のエディタウィンドウに以下のコードを貼り付けます。

Private Sub Workbook_Open()
Workbooks("abc.xls").Sheets(1).Activate
Cells.Select
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & "c:\xyz.csv", Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
End With
End Sub

※ここで「abc.xls」はこのブック自身のファイル名、「c:\xyz.csv」は取り込みたいcsvファイルのパス・ファイル名です。
 また、Sheets(1)は1枚目のシートに貼り付ける指定です。それぞれ適当に変更します。

4)ブックを保存終了し、再度、このブックを開いてください。


Excel自体、マクロを使用できない設定になっていると動きません。その際は、
[ツール]→[オプション]→[セキュリティ]→[マクロセキュリティ]→[セキュリティレベル]
で「中」か「低」に設定してください。


うまくできますように......

(4)に対する回答です(応用すれば(6)もできるでしょう)。

たぶん、マクロを使わないとできないと思います。マクロを使っていいならいろいろ方法はあるでしょうが
一例として

1)マクロを組み込みたいブックを開き、[Alt]+[F11]でVBエディタを開きます。

2)通常左上に表示されるプロジェクトエクスプローラーの「ThisWorkbook」をWクリックします。

3)右側のエディタウィンドウに以下のコードを貼り付けます。

Private Sub Workbook_Open()
Workbooks("abc.xls").Sheets(1).Activat...続きを読む

Qエクセルでデータ.xlsから1行毎に元シート.xlsへコピーし1行毎に多数ファイルを作成したい。

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート.xlsは固定文字や罫線等があります。

元シート.xls
A B C D
1 ------------------------------
2
3
4 abcdefg 9876543
5 ------------------------------

元シート.xlsに、データ.xlsの1行ごとのデータを、指定したセルに入れ、
A列の名前で多数のファイルを作成したいのです。
ただし、A列で同じファイル名がある時は、ファイル名の後に_2等を付けて保存したいのです。

以下のような多数のファイルを自動的に作成する方法を教えて下さい。
宜しくお願い致します。

test.xls
------------------------------
test 789 012
123 456 345
abcdefg 9876543
------------------------------

test2.xls
------------------------------
test2 012 345
456 789 678
abcdefg 9876543
------------------------------

test_2.xls
------------------------------
test2 789 012
456 123 345
abcdefg 9876543
------------------------------
...

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート...続きを読む

Aベストアンサー

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダにあるものとしています。
・データ.xlsからのコピーはコピーメソッドで行っていますので、書式などもそのままコピーされます。
 (もし式が入力されている場合は、参照がおかしくなることがあり得ます)
・元データのデータ有無に関わらず、データシートのデータを上書きするようにしています。

データ.xlsがアクティブな状態で実行されるものと仮定しています。
(シート名、ブック名などは仮設定です)
適宜、修正してご使用ください。

Sub test()
Dim dst_name, mbk_name, mst_name, bk_name, b_name
Dim dst, mbk, mst
Dim ad, p, i, j

p = ThisWorkbook.Path & "\"  '// 対象となるフォルダのパス+"\"
dst_name = "データシート"    '// 対象データのあるデータ.xlsのシート名
mbk_name = "元シート.xls"    '// 元シート.xlsのファイル名
mst_name = "元シート"      '// 元シート.xlsの対象とすべきシート名

Set dst = Sheets(dst_name)
For i = 2 To dst.Cells(dst.Rows.Count, 1).End(xlUp).Row

'// 作成するファイル名をチェック
 b_name = dst.Cells(i, 1)
 If b_name <> "" Then
  j = 1
  bk_name = p & b_name & ".xls"
  While Dir(bk_name) <> ""
   j = j + 1
   bk_name = p & b_name & "_" & Format(j, "#") & ".xls"
  Wend

'// データをコピー、保存
  Workbooks.Open p & mbk_name
  Set mbk = ActiveWorkbook
  Set mst = mbk.Sheets(mst_name)
  For j = 1 To dst.Cells(i, dst.Columns.Count).End(xlToLeft).Column
   dst.Cells(i, j).Copy (mst.Range(dst.Cells(1, j).Text))
  Next j
  mbk.SaveAs (bk_name)
  mbk.Close
 End If
Next i
End Sub

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダに...続きを読む

QC:\WINDOWS\TEMP\B2Temp\Attachとは・・・

添付ファイルをメーラーからパソコンに落とすときに、
現在の場所を表すのに
「C:\WINDOWS\TEMP\B2Temp\Attach」
と表示されます。場所を表しているのだと思うのですが、くわしくどういう意味なのか教えて下さい。

Aベストアンサー

Cドライブの中のwindowsフォルダの中のtempフォルダの中のB2Tempフォルダの中のAttachフォルダ、という意味だと思います。質問の意図を取り違えてましたらすみません。スタートメニューを右クリックしてエクスプローラーで階層を確認されたら分かりやすいかと思います。

Qエクセルマクロでyy/mm/dd形式のCSVデータの読み込み方を教えてください。

エクセル2003使っています。
毎日の業務で、売上データのCSVファイルをエクセルで開き、集計する作業を行っているのですが、マクロを使ってもっと楽に作業が出来ないかと素人なりに勉強中の者です。
自分ではあまり書くことが出来ませんので自動記録をやっていたのですが、CSVファイルを開くと、06/12/27のデータが2027/12/27となってしまいます。CSVファイルをそのまま選択してエクセルで開くと2006/12/27と認識してくれるのですが、マクロでこのように表示させるにはどのようにすればよろしいのでしょうか。データは列ごとに項目が分かれている形で、売上、商品名、日付等があります。その中でこの日付がうまく処理できませんので、お分かりの方、是非ご教授お願いします。

Aベストアンサー

Openメソッドのパラメータに Local:=True を指定すると良いかと思います。

例えば、こんな感じです。

Sub CsvOpen()
 Workbooks.Open Filename:="C:\Data\日付テスト.csv", Local:=True
End Sub


このカテゴリの人気Q&Aランキング

おすすめ情報