過去ログ

                                Page     526
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼拡張子をつけずに保存するには?  ふじ 03/1/9(木) 15:12
   ┣Re:拡張子をつけずに保存するには?  ichinose 03/1/9(木) 16:07
   ┃  ┗もう少し教えていただけますか?  ふじ 03/1/9(木) 17:45
   ┃     ┗Re:もう少し教えていただけますか?  ポンタ 03/1/10(金) 2:18
   ┃        ┗Re:もう少し教えていただけますか?  りん 03/1/10(金) 8:03
   ┣Re:拡張子をつけずに保存するには?  JuJu 03/1/9(木) 17:08
   ┃  ┗Re:拡張子をつけずに保存するには?  ふじ 03/1/9(木) 17:40
   ┗ありがとうございました!出来ました!  ふじ 03/1/10(金) 11:53

 ───────────────────────────────────────
 ■題名 : 拡張子をつけずに保存するには?
 ■名前 : ふじ
 ■日付 : 03/1/9(木) 15:12
 -------------------------------------------------------------------------
   ファイルの拡張子をつけずに保存するには?

はじめて質問させていただきます。

複数シートを持つエクセルファイルを一度保存してから、シートごとに
テキスト形式(スペース区切)で、フロッピーディスクに保存したいと思っています。
ただ、テキスト形式にはしたいのですが、拡張子(.prn)は付けないように
したいのですが、可能でしょうか?
なぜかと言うと、FDに保存したデータを会社のオンライン(とっても古い!)に
自動登録したいのですが、拡張子がついていると自動登録が行えないのです。
今は以下のマクロを使い、拡張子は「マイコンピューター」などでファイル一覧を
表示し、「名前の変更」で「.prn」部分を削除する、という非常にまどろっこしいやり方をしています。

超初心者なので、質問の仕方にも不足があると思います。もし、これだけでは助言しようが
ない、ということであればその旨ご指摘ください。
よろしくお願いします。


Sub オンライン用データ保存()

  ActiveWorkbook.Save

  Sheets("Fmdata01").Select
  
  ActiveWorkbook.SaveAs Filename:="A:\fmdata01", _
    FileFormat:=xlTextPrinter, CreateBackup:=False

  Sheets("Szai-ind").Select

  ActiveWorkbook.SaveAs Filename:="A:\Szai-ind", _
    FileFormat:=xlTextPrinter, CreateBackup:=False
  
  Sheets("内訳書").Select
  
  MsgBox ("FD内に保存されたファイルの拡張子(.prn)を削除してください!!")
  
  ActiveWindow.Close

End Sub
 ───────────────────────────────────────  ■題名 : Re:拡張子をつけずに保存するには?  ■名前 : ichinose  ■日付 : 03/1/9(木) 16:07  -------------------------------------------------------------------------
   ▼ふじ さん:
こんにちは。
>ファイルの拡張子をつけずに保存するには?


>「名前の変更」で「.prn」部分を削除する、という非常にまどろっこしいやり方をしています。
ここをマクロを使用して名前の変更を行うのはどうでしょうか?
HELPより、
ファイルまたはフォルダの名前を変更します。

構文

Name oldpathname As newpathname

Name ステートメントの構文は、次の指定項目から構成されます。

指定項目 内容
oldpathname 必ず指定します。名前を変更するファイル名を示す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。
newpathname 必ず指定します。新しいファイル名を示す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。引数 newpathname には、既に存在しているファイル名は指定できません

一旦ブックは、閉じてからこのステートメントで名前を変えるというのはどうでしょうか?


>Sub オンライン用データ保存()

>
>  ActiveWorkbook.Save
>
>  Sheets("Fmdata01").Select
>  
>  ActiveWorkbook.SaveAs Filename:="A:\fmdata01", _
>    FileFormat:=xlTextPrinter, CreateBackup:=False
>
>  Sheets("Szai-ind").Select
>
>  ActiveWorkbook.SaveAs Filename:="A:\Szai-ind", _
>    FileFormat:=xlTextPrinter, CreateBackup:=False
>  
>  Sheets("内訳書").Select
>  
>  MsgBox ("FD内に保存されたファイルの拡張子(.prn)を削除してください!!")
>  
>  ActiveWindow.Close
>
>End Sub
 ───────────────────────────────────────  ■題名 : もう少し教えていただけますか?  ■名前 : ふじ  ■日付 : 03/1/9(木) 17:45  -------------------------------------------------------------------------
   ▼ichinose さん:
>ここをマクロを使用して名前の変更を行うのはどうでしょうか?
>HELPより、
>ファイルまたはフォルダの名前を変更します。
>
>構文
>
>Name oldpathname As newpathname
>
>Name ステートメントの構文は、次の指定項目から構成されます。
>
>指定項目 内容
>oldpathname 必ず指定します。名前を変更するファイル名を示す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。
>newpathname 必ず指定します。新しいファイル名を示す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。引数 newpathname には、既に存在しているファイル名は指定できません
>
>一旦ブックは、閉じてからこのステートメントで名前を変えるというのはどうでしょうか?

早速教えていただいてありがとうございます!

すみません。私本当に超初心者なので、ichinoseさんがコメントしてくださった内容をどうやってやったらいいかがさっぱり分からないのです。
エクセル上での操作ではないんですよね・・・?
なのでJuJuさんのご提案の方法を試してみて、出来なかったらもうすこし詳しく教えていただきたいのですが。
出来たかどうかは明日以降にもう一度ご報告します!
お手数おかけしますがよろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:もう少し教えていただけますか?  ■名前 : ポンタ  ■日付 : 03/1/10(金) 2:18  -------------------------------------------------------------------------
   横から失礼します。
FileSystemObjectを使って書いてみました。

テスト環境でお試しください。

Sub オンライン用データ保存()
  Dim SheetName(2) As String
  Dim i As Integer
  Dim objFs As Object
  Dim objFile As Object
  SheetName(1) = "Fmdata01"
  SheetName(2) = "Szai-ind"
  ActiveWorkbook.Save
  For i = 1 To 2
    Sheets(SheetName(i)).Select
    Call ActiveWorkbook.SaveAs("A:\" & SheetName(i), xlTextPrinter)
  Next
  Sheets("内訳書").Select
  Call ActiveWindow.Close(False)
  Set objFs = CreateObject("Scripting.FileSystemObject")
  For i = 1 To 2
    Set objFile = objFs.GetFile("A:\" & SheetName(i) & ".prn")
    objFile.Name = Replace(objFile.Name, ".prn", "")
  Next
End Sub
 ───────────────────────────────────────  ■題名 : Re:もう少し教えていただけますか?  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/1/10(金) 8:03  -------------------------------------------------------------------------
   おなじく、横から失礼します。
たくさんのファイルの拡張子を同時に変更したいだけなら。

DOSプロンプトを表示して、

A:
REN *.PRN *.

で、DOSプロンプトを終了してください。
 ───────────────────────────────────────  ■題名 : Re:拡張子をつけずに保存するには?  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/9(木) 17:08  -------------------------------------------------------------------------
   ふじさん、ichinoseさん、こんにちはぁ

>ただ、テキスト形式にはしたいのですが、拡張子(.prn)は付けないように
>したいのですが、可能でしょうか?
>  ActiveWorkbook.SaveAs Filename:="A:\fmdata01", _
>    FileFormat:=xlTextPrinter, CreateBackup:=False

邪道っぽいですが、
  ActiveWorkbook.SaveAs Filename:="A:\fmdata01.", _
    FileFormat:=xlTextPrinter, CreateBackup:=False
で動くかも。

ただし、SaveAsの拡張子省略には一部バグがあるので、バージョンに依存するのかもしれませんが、私の環境(Windows2000+Excel2000sp2)では動くようです。

ichinoseさんが書かれている通り、名前を変更する方が無難ですね。

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:拡張子をつけずに保存するには?  ■名前 : ふじ  ■日付 : 03/1/9(木) 17:40  -------------------------------------------------------------------------
   ▼JuJu さん:
ありがとうございます。
"A:\fmdata01.", _

1のあとに.を入れてみればいいのですね?
明日試してみます!
結果、またご報告しますね。
取り急ぎお礼まで。
 ───────────────────────────────────────  ■題名 : ありがとうございました!出来ました!  ■名前 : ふじ  ■日付 : 03/1/10(金) 11:53  -------------------------------------------------------------------------
   ichinoseさん
JuJuさん
ポンタさん
りんさん

皆様ありがとうございました!出来ました!
どのように解決したか結果をご報告させていただきます。

ポンタさんに書いていただいたものを試してみました。
動作環境のせいなのか、結局FDに保存されたファイルには拡張子.prnがついて
しまいました。
そこで、JuJuさんご提案の方法を試してみたら、こちらは大丈夫、思い通り
拡張子なしの状態で保存できました。

ただ、ポンタさんに書いていただいたものは、私が作ったものと違って、
無駄のない書き方になっていて、動作も速かったので、最終的にはポンタさんの案を
使わせていただき、そこにJuJuさんの案をプラスして、このようにしてみました。

  Call ActiveWorkbook.SaveAs("A:\" & SheetName(i)&".", xlTextPrinter)
  
  Set objFs 〜は使わない。

私が作った案では最後に出したくない警告が出てしまっていたのですが、
ポンタさんのものはそれも出ないので、その点も助かりました。

本当にありがとうございました。
また質問させていただきます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 526