Excel VBA質問箱 IV

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

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


764 / 13645 ツリー ←次へ | 前へ→

【78405】エクセルからの削除、リネーム後の保存 Todd 16/9/13(火) 6:53 質問[未読]
【78406】Re:エクセルからの削除、リネーム後の保存 β 16/9/13(火) 8:21 発言[未読]
【78414】Re:エクセルからの削除、リネーム後の保存 Todd 16/9/14(水) 5:53 回答[未読]
【78476】Re:エクセルからの削除、リネーム後の保存 Todd 16/9/30(金) 7:29 質問[未読]
【78478】Re:エクセルからの削除、リネーム後の保存 β 16/9/30(金) 14:29 発言[未読]
【78479】Re:エクセルからの削除、リネーム後の保存 β 16/9/30(金) 17:37 発言[未読]
【78481】Re:エクセルからの削除、リネーム後の保存 Todd 16/10/1(土) 3:18 質問[未読]

【78405】エクセルからの削除、リネーム後の保存
質問  Todd  - 16/9/13(火) 6:53 -

引用なし
パスワード
   お世話になっております。
下記のエクセル操作についてご相談させて下さい。

エクセルより.txtデータを読み込み、読み込み後
元の.txtデータをリネーム(名前:after 日付け、保存時間)し、
別フォルダに保存。この際、もとの.txtデータは削除する
というマクロを作成したいと考えております。

.txtデータの読み込みまでは出来ましたが、
その後はどのように作成すればよいか、お知恵を拝借できれば幸いです。

宜しくお願い致します。

以上

【78406】Re:エクセルからの削除、リネーム後の保存
発言  β  - 16/9/13(火) 8:21 -

引用なし
パスワード
   ▼Todd さん:

ファイルの移動であれば、開かなくても、VBA標準機能の Name ステートメント
あるいは FSO の ファイルオブジェクト.Move メソッドやファイルオブジェクト.MoveFIleメソッドで
直接移動処理が可能です。

【78414】Re:エクセルからの削除、リネーム後の保存
回答  Todd  - 16/9/14(水) 5:53 -

引用なし
パスワード
   ▼β さん:

ご対応有難う御座います。
一度、試してみます!

不明な点があれば、再度ご質問させて下さい。

以上

【78476】Re:エクセルからの削除、リネーム後の保存
質問  Todd  - 16/9/30(金) 7:29 -

引用なし
パスワード
   対象ファイルをAフォルダからBフォルダに移動することは出来ました。
次にBフォルダに移動させたファイルのファイル名を"エクセル名と日時"に
変更したいのですが、どうすればよいでしょうか?

Sub ファイル移動とリネーム
  Dim fso As Object
  Dim strSrc As String
  Dim strDst As String
  
  Set fso = CreateObject("Scripting.FileSystemObject")
  strSrc ="C:保存場所/対象ファイル
  strDst ="C:移動場所/対象ファイル
  
  Set fso = Nothing

  Name "C:移動場所/対象ファイル" as "ここをエクセルファイル名と日時にしたい"

お手数をお掛け致しますが、宜しくお願い致します。

以上

【78478】Re:エクセルからの削除、リネーム後の保存
発言  β  - 16/9/30(金) 14:29 -

引用なし
パスワード
   ▼Todd さん:

FSO処理であれば、

FSO.MoveFile "元のフォルダパス文字列\元のファイル名","新しいフォルダパス文字列\新しいファイル名"

VBA標準のNAME処理であれば、

Name "元のフォルダパス文字列\元のファイル名" As "新しいフォルダパス文字列\新しいファイル名"

といったように、新しいファイルフルパス文字列を与えればいいのですが、
具体的にどこがわからないのでしょう?

なお、FSOにしろName にしろ、移動先に同名ファイルがあれば失敗しますので
そのための手当も必要ですけど、とにかく、まず移動させるということに絞って進めたらいいと思います。

【78479】Re:エクセルからの削除、リネーム後の保存
発言  β  - 16/9/30(金) 17:37 -

引用なし
パスワード
   ▼Todd さん:

コメントした通り、必要なファイルフルパス文字列を作成して処理すればいいので
どのあたりに困っておられるのかわからないのですが、一応、サンプルとして。

Sub Sample1()
  Dim fso As Object
  Dim oPath As String
  Dim nPath As String
  
  Set fso = CreateObject("Scripting.FileSystemObject")
  
  oPath = "C:\古いフォルダ\元のファイル.txt"
  nPath = "c:\新しいフォルダ\元のファイル" & Format(Now, "yyyymmddsshhnn") & ".txt"
  
  On Error Resume Next
  fso.deletefile nPath  '移動先の同名のファイルを削除
  On Error GoTo 0
  
  fso.movefile oPath, nPath
  
End Sub

Sub Sample2()
  Dim oPath As String
  Dim nPath As String
  
  
  oPath = "C:\古いフォルダ\元のファイル.txt"
  nPath = "c:\新しいフォルダ\元のファイル" & Format(Now, "yyyymmddsshhnn") & ".txt"
  
  On Error Resume Next
  Kill nPath '移動先の同名のファイルを削除
  On Error GoTo 0
  
  Name oPath As nPath
  
End Sub

【78481】Re:エクセルからの削除、リネーム後の保存
質問  Todd  - 16/10/1(土) 3:18 -

引用なし
パスワード
   不明瞭なご説明で申し訳御座いませんでした。

ご回答頂いた内容で解決致しました。
有難うございます。

以上

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