Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12863 / 13644 ツリー ←次へ | 前へ→

【8198】Activeworkbook.Nameの変更 テーブル 03/10/3(金) 16:08 質問
【8199】Re:Activeworkbook.Nameの変更 テーブル 03/10/3(金) 16:24 質問
【8200】Re:Activeworkbook.Nameの変更 INA 03/10/3(金) 16:27 回答
【8201】Re:Activeworkbook.Nameの変更 INA 03/10/3(金) 16:30 回答
【8202】Re:Activeworkbook.Nameの変更 テーブル 03/10/3(金) 16:55 質問
【8204】Re:Activeworkbook.Nameの変更 INA 03/10/3(金) 16:58 回答
【8205】Re:Activeworkbook.Nameの変更 テーブル 03/10/3(金) 17:13 お礼
【8206】Re:Activeworkbook.Nameの変更 INA 03/10/3(金) 17:19 回答
【8207】Re:Activeworkbook.Nameの変更 テーブル 03/10/3(金) 18:00 お礼
【8203】Re:Activeworkbook.Nameの変更 Kein 03/10/3(金) 16:56 回答
【8208】Re:Activeworkbook.Nameの変更 テーブル 03/10/3(金) 18:02 お礼
【8209】Re:Activeworkbook.Nameの変更 INA 03/10/3(金) 18:12 回答
【8266】Re:Activeworkbook.Nameの変更 テーブル 03/10/6(月) 15:35 お礼
【8267】Re:Activeworkbook.Nameの変更 INA 03/10/6(月) 16:10 発言

【8198】Activeworkbook.Nameの変更
質問  テーブル E-MAIL  - 03/10/3(金) 16:08 -

引用なし
パスワード
   ファイル名.csv→ファイル名.xls
のように保存される際に、
I)ファイル名を変えない。。
II)保存される形式をcsvからxlsに変換する。

っと上記のように行います。そこで、Activeworkbook.Nameの
後ろだけを変えれるようにできればっと思ったのですが・・・
自動記録でもできなかったので・・・何か良い案あれば教えてください。

【8199】Re:Activeworkbook.Nameの変更
質問  テーブル E-MAIL  - 03/10/3(金) 16:24 -

引用なし
パスワード
   Activeworkbook.Nameでなければ、

filename = Left(filename, (Len(filename) - 4))
filename = filename & ".csv"

上記の用に変更できるらしいのですが・・・・
どうか、よろしくお願い致します。

【8200】Re:Activeworkbook.Nameの変更
回答  INA  - 03/10/3(金) 16:27 -

引用なし
パスワード
   意味が良く分からないです。

普通に「名前を付けて保存」で、
ファイルの種類を変更するだけではないのでしょうか?

よく分かっていませんが、もし文字列操作でしたら
Left(ファイル名,Len(ファイル名.csv)-4) & ".xls"
とか・・?

【8201】Re:Activeworkbook.Nameの変更
回答  INA  - 03/10/3(金) 16:30 -

引用なし
パスワード
   Left(Activeworkbook.Name,Len(Activeworkbook.Name)-4) & ".xls" 

・・? 主旨がよく分かんない(*_*)?

【8202】Re:Activeworkbook.Nameの変更
質問  テーブル E-MAIL  - 03/10/3(金) 16:55 -

引用なし
パスワード
   ▼INA さん:
>意味が良く分からないです。
>普通に「名前を付けて保存」で、
>ファイルの種類を変更するだけではないのでしょうか?

お忙しい所回答ありがとうございます。
分かりにくい説明で申し訳ありません。
作成したいプログラムは、
「保存する先を指定」して、「ファイルの種類」を変更し、「ファイルを保存」
っと言う流れです。

>Left(filename, (Len(filename) - 4))
↑は、考えてみた所、これを使うのかなと勝手に思っちゃいまして・・・・

Activeworkbook.Nameで、「ファイルの種類」の変更が可能ならば、その方法をお聞きしたいです。 

【8203】Re:Activeworkbook.Nameの変更
回答  Kein  - 03/10/3(金) 16:56 -

引用なし
パスワード
   ActiveWorkbook.SaveAs FileFormat:=xlWorkbookNormal

で、どうかな・・?

【8204】Re:Activeworkbook.Nameの変更
回答  INA  - 03/10/3(金) 16:58 -

引用なし
パスワード
   >Activeworkbook.Nameで、「ファイルの種類」の変更が可能ならば、
>その方法をお聞きしたいです。 
何のためですか?目的がぜんぜん分かりません。

普通に「名前を付けて保存」(SaveAs メソッド)で、
ファイルの種類を変更するだけではないのでしょうか?

【8205】Re:Activeworkbook.Nameの変更
お礼  テーブル E-MAIL  - 03/10/3(金) 17:13 -

引用なし
パスワード
   ▼INA さん:
>>Activeworkbook.Nameで、「ファイルの種類」の変更が可能ならば、
>>その方法をお聞きしたいです。 
>何のためですか?目的がぜんぜん分かりません。


目的は、「保存」する際にファイルの種類を変更するためなです。
また、「ファイルの種類を変更」する際の手作業を無くしたいのもあります。

>普通に「名前を付けて保存」(SaveAs メソッド)で、
>ファイルの種類を変更するだけではないのでしょうか?

それが、わからなかったので・・・教えていただきたいです。

【8206】Re:Activeworkbook.Nameの変更
回答  INA  - 03/10/3(金) 17:19 -

引用なし
パスワード
   行いたいことの手作業を「マクロの自動記録」してみましたか?

【8207】Re:Activeworkbook.Nameの変更
お礼  テーブル E-MAIL  - 03/10/3(金) 18:00 -

引用なし
パスワード
   ▼INA さん:
>行いたいことの手作業を「マクロの自動記録」してみましたか

お手数掛けてすいませんでした。マクロの自動記録では、わからなかったのですが、
何とか自分でやってみます。お忙しい所申し訳ありませんでした。

【8208】Re:Activeworkbook.Nameの変更
お礼  テーブル E-MAIL  - 03/10/3(金) 18:02 -

引用なし
パスワード
   ▼Kein さん:
>ActiveWorkbook.SaveAs FileFormat:=xlWorkbookNormal
>
>で、どうかな・・?

試してみた所、ファイルの種類は、変更して、保存できたので、
後は保存する先を指定すれば、やりたかった事が出来ると思います。

どうも、ありがとうございましたTT お忙しい中。。。。

【8209】Re:Activeworkbook.Nameの変更
回答  INA  - 03/10/3(金) 18:12 -

引用なし
パスワード
   >マクロの自動記録では、わからなかったのですが
自動記録の使い方が分からないのでしょうか?
それとも自動作成されたコードが分からないのでしょうか?
それほど複雑なコードではないはずですが・・・?

>後は保存する先を指定すれば、やりたかった事が出来ると思います。
目的とする全体的なフローは、どのようなことでしょうか?

保存先の指定は、ユーザーがするのでしょうか?
その際の方法は、ダイアログで選択?InputBoxに入力?

もし保存ダイアログを表示するだけなら、
Application.Dialogs(xlDialogSaveAs).Show

フォルダを選択するなら
GetSaveAsFilename メソッド
が使えると思います。

【8266】Re:Activeworkbook.Nameの変更
お礼  テーブル E-MAIL  - 03/10/6(月) 15:35 -

引用なし
パスワード
   ▼INA さん:
いつも回答ありがとうございます。Getsaveasから、週末に本で、色々調べまして、下記の内容にてやりたい事ができました。 

Sub 途中保存()

Const myPath As String = ”アドレス”
Dim myFileName As String

    ChDrive myPath
    ChDir myPath
    
    myFileName = Application.GetSaveAsFilename _
      (ActiveWorkbook.Name, "Excelファイル(*.xls),*.xls")
    If myFileName = "False" Then
      Exit Sub
    Else
      With Application
        .DisplayAlerts = False
        ActiveWorkbook.SaveAs myFileName
        .DisplayAlerts = True
      End With
    End If
End Sub

【8267】Re:Activeworkbook.Nameの変更
発言  INA  - 03/10/6(月) 16:10 -

引用なし
パスワード
   その内容ですと、組込ダイアログをそのまま使っても出来ると思います。

ご参考までに・・・
Application.Dialogs(xlDialogSaveAs).Show "サンプル"
組込ダイアログも引数を指定して利用できます。
詳しくはヘルプ「組み込みダイアログ ボックス引数一覧」を参照してください。

何にしても解決できて良かったです。\(^^)

12863 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free