Board logo

標題: [發問] 檔案合併後自訂檔案名稱 [打印本頁]

作者: iceadagio    時間: 2016-6-6 23:10     標題: 檔案合併後自訂檔案名稱

想請教專業的大大們

小的已有先找過了,發現沒有發現解答,特來提問

問題如下:

要合併CSV的檔案,在合併時可以自訂檔案名稱

在C槽下有4個CSV檔,使用程式執行時,先跳出可輸入檔名的視窗,輸入後合併,完成

合併完的檔案可放在同一個資料夾,並不要刪掉原合併的4個CSV檔

請問可用VBA程式寫出嗎
作者: stillfish00    時間: 2016-6-8 11:14

回復 1# iceadagio
直接用command下的 copy 指令串接文字檔
  1. Sub Test()
  2.     Dim f1, f2
  3.     f1 = Application.GetOpenFilename("CSV Files, *.csv", , "請選擇要合併的檔案", , True)
  4.     If TypeName(f1) = "Boolean" Then Exit Sub
  5.     f2 = Application.GetSaveAsFilename("合併", "CSV Files,*.csv", , "儲存到...")
  6.     If TypeName(f2) = "Boolean" Then Exit Sub
  7.     Shell "cmd.exe /C copy " & Join(f1, "+") & " " & f2
  8. End Sub
複製代碼

作者: iceadagio    時間: 2016-6-8 15:36

回復 2# stillfish00


    Stillfish00大大
使用你編寫的會出現選擇要合併的檔案和要命名的檔案
只是最後沒出現合併後的檔案

小的目前只會用到合併
程式碼如下

Sub csv合併()
Shell "come.exe /c " & " copy c:\*.csv c:\1.csv" , vbnormalfocus
End sub

請問要合併的檔名可以用像inputbox直接輸入就完成嗎
作者: iceadagio    時間: 2016-6-8 23:37

回復 2# stillfish00


Stillfish00大大

小的使用2010版確定可以使用
不過公司的是2007版
請問要做什麼修改才可以在2007版使用?
作者: zxcxz    時間: 2016-6-9 10:11

請問 Application.GetOpenFilename,Application.GetSaveAsFilename,join 等一類語法應從何入手才能了解更多(如書藉,關鍵字)?因一般的vba教材都只教授function。如能提點,感激萬分!

回復  iceadagio
直接用command下的 copy 指令串接文字檔
stillfish00 發表於 2016-6-8 11:14

作者: Kubi    時間: 2016-6-9 21:27

回復 4# iceadagio
這是用2007版寫的,請參考。
[attach]24453[/attach]
作者: Kubi    時間: 2016-6-11 19:47

回復 7# iceadagio
試試看網路硬碟。
http://www.FunP.Net/32685
作者: stillfish00    時間: 2016-6-13 16:42

回復 5# zxcxz
已知 function 名稱,到說明內查詢就能了解更多了
[attach]24476[/attach]
作者: stillfish00    時間: 2016-6-13 16:53

回復 4# iceadagio
2007哪個地方出錯?
我沒2007恐怕無法回答。
作者: Kubi    時間: 2016-6-13 20:15

回復 10# stillfish00
Stillfish00大大寫的程式碼,我用2007版來Run也沒有問題。
作者: iceadagio    時間: 2016-6-15 00:11

回復 8# Kubi


感謝kubi大大
作者: iceadagio    時間: 2016-6-15 00:15

回復 9# stillfish00


感謝 stillfish00 大大提供的

我再多研究看看

問題點

可以出現選檔案和出現合併的名字

存檔後會沒反應

就是沒出現檔案,另一台電腦是出現 物件不支援此屬性或方法




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)