初めてこちらで質問させていただきます。
タイトルにもありますように電話帳をエクセルのCSVファイルで作成して「名前をつけて保存」でファイルの種類をCSV(カンマ区切り)で保存しても入力した電話番号が保存したファイルに反映されません。
例としては、
私は国際電話をかける事が多い為電話番号を外国の番号も全て+8190XXXXXXXXで入力しますが「CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります。この形式で保存しますか?」と言うメッセージが出た後「はい」をクリックしてファイルを保存しても保存されたファイルを開くと全ての番号が変更前の「8.19E+11」の様になってしまいます。
もちろん電話番号を入力する列は書式設定を「文字列」にしています。
後で電話帳のCSVファイルを携帯に送りたいのでどうしてもちゃんと入力したいのですがどなたかこの問題を解決する方法を知っていらっしゃる方がいましたらアドバイスよろしくお願い致します。

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

A 回答 (5件)

#1です。



まず、CSVですが、このファイル形式は値以外の情報は持ちません。
その為、保存時にその旨を警告するメッセージが表示されます。

その警告に同意の上での保存となりますので、CSV自体に列幅や
文字の色と言った情報を含めるのは無理でしょう。

もし、そう言った情報も含めた上で、CSVも必要であれば、
オリジナルのファイルとしてエクセル形式でファイルを持って
おいて、修正もエクセルファイルに対して行い、必要に応じて
CSVファイルを作るのが良いかと思います。

この回答への補足

keirikaさん、前回回答頂きましてありがとうございました。
結局オリジナルをエクセルファイルで作成してそこからCSVファイルを作成して携帯にインポートしました。
CSVファイルの事を良く知りませんでしたが今回少し分かった気がします。
古い携帯からその携帯付属のソフトでデータをエクスポートしてそのデータをCSVファイルにする。
そのCSVファイルをエクセルでデータとして取り込んで文字として扱えるようにしてメインファイルを作成。
取り込んだ後全ての苗字と名前が逆になったり携帯が変わる為入力できる文字数が変わったりして戸惑いました。
そのためお返事に時間が掛かってしまいすみませんでした。
それからまたCSVファイルに変換してインポート出来ました。
連絡先が500件近くありそれにメールアドレスや2つ番号のある人もいたので一つ一つ入力し直す訳にも行かず困っておりましたので大変助かりました。
ありがとうございました。

補足日時:2008/07/24 00:14
    • good
    • 0
この回答へのお礼

keirikaさん、回答ありがとうございます。
CSVファイルに文字の色が含まれないのは知っておりましたが列の幅等の情報も保存されない事は知りませんでした。

確かにkeirikaさんのおっしゃる通りオリジナルをエクセルファイル形式で持っておくしかないようですね。
オリジナルをCSV形式で保存すればそのファイルを開くまでは正しい数値が保存されていると言うことですよね?
(入力された+8190XXXXXXXX等の番号はそのまま保存されていて「8.19E+11」の形式にはなっていないと言う意味です。)

とりあえずその方法でやってみます。
全ての番号に+を付けて入力し直さなくてはいけないので少し時間が掛かると思いますが後ほど報告致します。

とりあえずお礼まで。

お礼日時:2008/07/18 06:56

まず2点補足をお願いします。


1)携帯電話には個別に直接入力したとき+8190XXXXXXXXの形式で保存できるのですか?
2)お使いの「電話帳のソフト」で個別に直接入力したとき+8190XXXXXXXXの形式で保存できますか?
そもそも上記2点のうち1つでも「できない」のであれば、根本的に管理方法を変える
必要があると思います。

CSVやTXT形式のファイルに、+や-、0から始まる数字が入っている場合、文字列として
読み込むには以下の手順が必要です。

[データ]→[外部データの取り込み]→[データの取り込み]→csvファイルを指定→[開く]
「○カンマやタブなどの区切り・・・・」にチェック→[次へ]→「□カンマ」にチェック
[次へ]→「電話番号の列を選択」→「○文字列」にチェック→[完了]→[OK]


でも、こうやってエクセルで文字列として再びうまく開けるだけでは問題は解決した
訳ではないですよね。

この回答への補足

kigoshiさん前回私の質問にお答えいただきましてありがとうございました。
時間がかかりましたがようやくインポートできました。
結局元になるファイルをエクセルで作成してそれをCSVファイルで保存してインポート出来ました。ありがとうございました。
以前はCSVファイルをそのままエクセルで開いておりましたので教えて頂いた「外部データの取り込み方法」がとても役に立ちました。

補足日時:2008/07/23 23:51
    • good
    • 0
この回答へのお礼

kigoshiさん回答頂きましてありがとうございます。

先ずこちらの補足をさせて頂きますと、
1)携帯電話に直接入力した時には+8190XXXXXXXXの形式で入力できます。
現在私が使っているのはヨーロッパキャリアの3G携帯ですがこの様に入力する事によってGSMの通信方式を採用している国ならばどこに行っても国毎に異なる国際電話認識番号をわざわざ番号の前につける必要がなくなります。
(日本では010、ヨーロッパでは00、オーストラリアなどでは0011、ですね)

2)私が使っている「電話帳ソフト」は今使っている携帯電話に付属で付いてきた物ですが「FutureDial」と言うソフトです。
もちろんこのソフト上でも「+8190XXXXXXXX」の形式で保存できます。
どうやらアメリカのメーカーの様ですがそれ程ポピュラーではない様です。
このソフトはファイルの保存形式がCSVしかないのです。

教えて頂いた方法でCSVファイルをエクセルでちゃんと開くことは出来ましたが何故か「文字列」を指定してCSVファイルをエクセルで開いても「+8190XXXXXXXX」の形式では表示されずに8割が「8.19E+11」の様な形式で表示されて残りの2割くらいが「+」記号なしの数字で表示されました。
ちなみに全ての「セルの書式設定」の「表示形式」は「文字列」になっております。

とりあえずこれで一度元のエクセルファイルを作成してからそれをCSVファイルに保存しなおして「電話帳管理ソフト」で読み込んでみます。

結果はまたこちらで報告いたしますので引き続きよろしくお願い致します。

ありがとうございます。

お礼日時:2008/07/18 07:56

「その後CSVファイルで保存すると再度ファイルを開いた時にやはり正しく表示されません。

」の意味が「全ての番号が変更前の「8.19E+11」の様になってしまいます」の意味でしょうか?
もし、それならば、該当ファイルをExcelで開いたとき、「電話番号」表示セルの「セルの標識設定」→「表示形式」で、「分類」の「数値」に変更してみてください。
でも、一旦、「8.19E+11」と表記されてしまったものは、先頭の「+」や「0」は消えてしまっています。
結局、ANo.1の回答のとおり、TXTファイルで保存し、CSVファイルとして扱う場合は、別名ファイルにコピーしてから扱うしかないかも。

この回答への補足

NYAx2さん前回ご回答いただきましてありがとうございました。
結局CSVファイルをエクセルの「外部データの取り込み」をしてメインファイルを製作してからそれをまたCSVファイルで保存しなおして取り込みました。
ありがとうございました。

補足日時:2008/07/23 23:53
    • good
    • 0
この回答へのお礼

NYAx2さん回答ありがとうございます。

おっしゃる通り「再度ファイルを開いたときにやはり正しく表示されません」の意味は「全ての番号が変更前の「8.19E+11」の様になってしまいます」と言う意味です。
もちろんCSVファイルで開いておりましたのでそのせいでどうやら変更した数値の先頭の「+」や「0」が消えてしまっていたようです。

今まではCSVファイルをそのまま開いて「電話番号」の列を「文字列」に変更しておりましたが結局変更したファイルをCSVファイルで保存していたのでkeirikaさんがおっしゃっていらした様にエクセル形式で保存して電話帳管理ソフトにインポートする前にオリジナルで作成したエクセルファイルからCSVファイルで保存した物を読み込ませるしかないのかもしれません。

一度その方法で試してみます。
後でこちらで結果報告させていただきます。

引き続きよろしくお願い致します。

お礼日時:2008/07/18 07:16

電話番号を入力するとき、「'」(アポストロフィー)を先頭に付けて入力してみてください。

文字列として、扱ってくれます。
    • good
    • 0
この回答へのお礼

早速アドバイス頂きましてありがとうございます。
確かにおっしゃる通り「'」(アポストロフィー)を先頭に付けると文字列として認識してくれるのですがその後CSVファイルで保存すると再度ファイルを開いた時にやはり正しく表示されません。
ちなみに新しく入力した名前等はちゃんと保存されているのですが変更した列の幅もCSVファイルで上書き保存すると変更前の元の状態に戻ってしまっています。
電話帳のソフトがCSVでしか認識しないのでどうしたら良いか分からず困っております。
何かいいアイデアがありましたらよろしくお願い致します。

お礼日時:2008/07/17 01:54

保存自体は正常に行われていると思います。



確認する場合は、メモ帳を使って開いてみてください。

問題は保存をしたファイルを再びエクセルで開いた時です。

CSVの場合はエクセルがデータ形式を自動で判断します。

その為、電話番号は数値と判断され、指数表示になったと考えられます。

この表示の状態で再び上書き保存を行った場合はその時にデータが
壊れてしまいます。

この様な事を避けるためには、CSVではなくTXTで保存します。

エクセルでTXTファイルを開いた場合、テキストファイルウィザード
画面が表示され、途中でデータ形式を手動で指定出来ます。

その他の方法としてはエクセル形式のまま保存するのが一番です。

以上です。 お役に立つと良いのですが。
    • good
    • 0
この回答へのお礼

回答いただきましてありがとうございます。
確かに保存自体は正常にされていました。
メモ帳で開いてみますと変更された箇所が反映されていました。
確かにTXTで保存すれば問題は無いのかもしれませんが電話帳を管理するソフトがCSVファイルしか読み込まないのです。
そうなるとCSVファイルで保存するしかないですよね?
同じようにエクセルでTXTファイルを開いても結局それをCSVファイルで保存しないと読み込めないのです。
また何かアイデアがありましたらよろしくお願い致します。

お礼日時:2008/07/17 02:03

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

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

QEXCELで保存しているファイルをCSV(カンマ区切り)にしたい

EXCELで作成されたファイル(1)(拡張子:xls)をCSV(カンマ区切り)のファイル(2)(拡張子:csv)にしたいのですが、方法として、(1)をEXCELで開き、CSV(カンマ区切り)で保存し、(2)を作成する方法しかないのでしょうか?
例えば、DOSのコピーコマンドなどで変更する方法や、エクスプローラー上で拡張子を変更する方法などなど。

できれば、画面を開いたり、閉じたりしたくない(自動で変換させたい)
宜しくお願い致します。

Aベストアンサー

Excel→CSV変換を行うフリーソフトがいくつかあるみたいですね。
http://search.vector.co.jp/search?query=Excel+CSV
僕は使ったことがありませんのでどれがお勧めかなどはわかりません。
上記からそれっぽいのを片っ端からダウンロードして試してみられてはどうでしょう?

Qカンマ区切りcsvファイル上の'000'データの表示(エクセル)

Win95+エクセル2000です。

DBからカンマ区切りになるようにデータを抽出後、
一旦メモ帳に貼り付けてから名前をつけて保存でcsvファイルにし、
それをエクセルで開いて見ているのですが、
000で持っているデータが0になってしまいます。

ユーザー定義で見れなくはないですが、
一回目に開いた時から000で表示させることは可能でしょうか?

上記手順も含めてなにかご意見お持ちの方よろしくお願いします。

Aベストアンサー

データ抽出後拡張子をtxtにしテキストファイルにし、エクセルを開き
ファイル→開く→txtにしたファイルを指定してくだし。
テキストファイルウィザードが開きます。
カンマやタブなどのを選択→カンマを選択→3つめのデータ形式の選択で
おかしくなった列のデータ形式を文字列にして下さい。
これで開いた時には0ではなく000で表示されると思います。

Qカンマ区切りの数字をCSVファイルにインポートする時どうすれば?

カンマ区切りで区切られた金額を
CSVファイルにエクスポートなどする時は、
どうやって、カンマの区切りを判別するのですか?

Aベストアンサー

(1)アプリがかいてないのですが、エクセルとすると、エクセルの桁どりのカンマは書式設定の働きでもって、見た目にカンマが入っているが、数式バーではカンマがありませんので判るとおり、データにはカンマはありません。
ですからエクセルからエクスポートしても、数値項目にはCSVファイルには、桁取りカンマがありません。
(2)逆に
"1,001",023,34
'01,"122,234",34
1,234,"334,455"
をメモ帳で作って、エクセルに読み込ますと
"1,001",023,34
'01,"122,234",34
1,234,"334,455"
となるが、例えば334,455のセルには値はカンマが省かれています。
(3)だいたい、数値を表示するソフトは、値はカンマなしで保持し、画面や印刷するときに、カンマを入れるものです。
(4)(2)において3桁ごとのカンマを入れるだけにすると、項目区切りのカンマと区別がつかなくなりますが、
それでそのために前後をダブルクオーテーションでくくる
約束です。
(5)むしろCSVファイルの基本は、1項目の前後をダブルクオーテーションで括るのが原則なのですが、数値の場合省略できると言う約束になっている形式が多いです。しかし3桁ごとのカンマを入れるとすると、原則に戻らざるを得ません。

(1)アプリがかいてないのですが、エクセルとすると、エクセルの桁どりのカンマは書式設定の働きでもって、見た目にカンマが入っているが、数式バーではカンマがありませんので判るとおり、データにはカンマはありません。
ですからエクセルからエクスポートしても、数値項目にはCSVファイルには、桁取りカンマがありません。
(2)逆に
"1,001",023,34
'01,"122,234",34
1,234,"334,455"
をメモ帳で作って、エクセルに読み込ますと
"1,001",023,34
'01,"122,234",34
1,234,"334,455"
となるが、例え...続きを読む

QエクセルのCSV(カンマ区切り)保存について教えてください

次のようなEXCELデータをCSV(カンマ区切り)で保存した際に項目(カンマ)を2つ追加できるでしょうか?

EXCEL
 セルA1:AAA
 セルB1:BBB
 セルC1:
 セルD1:CCC
 セルE1:
 セルF1:

このデータをCSV保存してTEXTで確認すると、
 AAA,BBB,,CCC

となりますが、これを
 AAA,BBB,,CCC,,

としたいのですが、セルE1とセルF1がNULLのためカンマ区切りができません。半角スペースなどをいれるしかないのでしょうか?

できればセルE1とセルF1には何も入力したくないのですが。良い方法がありましたら教えてください。

Aベストアンサー

こんばんは

F列まで罫線で表組もしくは適当な書式設定(表示形式など)をしてからCSV保存してみて下さい

QEXCELにcsv形式の外部データを取り込む際にカンマ区切りで取り込も

EXCELにcsv形式の外部データを取り込む際にカンマ区切りで取り込もうとした場合、csvデータの同一セル内に改行データがあると、ずれて表示されてしまいます。
改行を取り除くのはclean関数があることは知っていますが、マクロを利用して、EXCELのデータ→外部データの取り込みの選択だけで取り込む方法はないでしょうか?ご教示ください。

Aベストアンサー

Sub try()
  Dim WRK As String '一時作業ファイル名。削除するので既存ファイル名と重複させないように。
  Dim buf As String
  Dim tmp As String
  Dim n  As Long
  Dim f

  '読込みファイルを選択
  f = Application.GetOpenFilename("csv,*.csv")
  If VarType(f) = vbBoolean Then Exit Sub
  '作業ファイル名設定
  WRK = Application.DefaultFilePath & "\temporary.csv"
  '読込みファイルOpen
  n = FreeFile
  Open f For Input As #n
  buf = StrConv(InputB(LOF(n), #n), vbUnicode)
  Close #n
  '置換(セル内改行を半角スペースに)
  With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "([^\r])(\n+)"
    buf = .Replace(buf, "$1 ")
  End With
  '作業ファイルOpen
  n = FreeFile
  Open WRK For Output As #n
  Print #n, buf
  Close #n
  '[外部データの取り込み]
  With Sheets.Add
    With .QueryTables.Add(Connection:="TEXT;" & WRK, _
               Destination:=.Range("A1"))
      .AdjustColumnWidth = False
      .TextFileParseType = xlDelimited
      .TextFileTextQualifier = xlTextQualifierDoubleQuote
      .TextFileCommaDelimiter = True
      .Refresh BackgroundQuery:=False
      .Delete
    End With
  End With
  '作業ファイル削除
  Kill WRK
End Sub

Excelで作成したcsvファイルで、セル内改行が含まれている場合は上記で読み込めるはずです。
そのcsvファイルをテキストエディタで編集してしまった場合は、うまくいかなくなるかもしれません。

'[外部データの取り込み]...以降、 Kill WRK までのコードは、無くても構いません。
取り込み前にセル内改行を置換してしまえば、
あとは手作業ででも[外部データの取り込み]ができます。

Sub try()
  Dim WRK As String '一時作業ファイル名。削除するので既存ファイル名と重複させないように。
  Dim buf As String
  Dim tmp As String
  Dim n  As Long
  Dim f

  '読込みファイルを選択
  f = Application.GetOpenFilename("csv,*.csv")
  If VarType(f) = vbBoolean Then Exit Sub
  '作業ファイル名設定
  WRK = Application.DefaultFilePath & "\temporary.csv"
  '読込みファイルOpen
  n = FreeFile
  Open f For Input As #n
  buf = StrConv(InputB(LOF(n),...続きを読む


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

おすすめ情報