彰化一整天的論壇

 找回密碼
 立即註冊
查看: 189|回復: 9

如何修改檔名與存放路徑?

[複製鏈接]
發表於 2020-6-17 13:47:21 | 顯示全部樓層 |閱讀模式
我在網路上找到一段EXCEL轉至PDF的VBA代碼
但不知道要怎麼將每次已轉PDF的檔名依照使用者輸入的代碼做更改
且轉成PDF後會存在「下載」的 資料夾,但我想放在D:\109測驗結果\PDF檔案的資料夾底下
不知道要怎麼變更PDF檔名跟存放路徑呢.....?

VBA-ExportAsFixedFormat.png
回復

使用道具 舉報

發表於 2020-6-17 13:57:38 | 顯示全部樓層
您沒檔案.我沒辦法寫使用者輸入的代碼給您看。
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-6-17 13:59:36 | 顯示全部樓層
附上網路上找到的此段程式碼.~
Public Sub ExcelTOPDF()
Sel_item = InputBox("請選擇轉換項目1:單一檔案 2:多個檔案", "EXCEL VBA")
    If Sel_item = 2 Then
   
        For i = 1 To Sheets.Count
        Sheets(i).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Sheets(i).Name & ".pdf"
    Next
   
    Else
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "工號.pdf"
    End If
End Sub
回復 支持 反對

使用道具 舉報

發表於 2020-6-17 14:07:14 | 顯示全部樓層
本帖最後由 imingho 於 2020-6-17 14:08 編輯
初學j 發表於 2020-6-17 13:59
附上網路上找到的此段程式碼.~
Public Sub ExcelTOPDF()
Sel_item = InputBox("請選擇轉換項目1:單一檔案 2 ...

下次貼程式碼請參考.
如何在discuz張貼程式碼
http://discuz.bestdaylong.com/fo ... tid=30239&fromuid=2
(出處: 彰化一整天的論壇)

  1. Public Sub ExcelTOPDF()
  2. Sel_item = InputBox("請選擇轉換項目1:單一檔案 2:多個檔案", "EXCEL VBA")
  3.     If Sel_item = 2 Then
  4.    
  5.      For i = 1 To Sheets.Count
  6.         Sheets(i).Select
  7.         ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  8.         Sheets(i).Name & ".pdf"
  9.     Next
  10.    
  11.     Else
  12.         ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  13.         "D:\109測驗結果\PDF檔案的資料夾\工號.pdf"
  14.     End If
  15. End Sub
複製代碼
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-6-17 16:55:57 | 顯示全部樓層
有三個問題想請教老師:1.PDF檔名隨著使用者所輸入的工號代碼不同而不同
2.將這些PDF檔案存到D曹的路徑而不是存在「下載」位置,想將這些PDF檔放在D:\109測驗結果\PDF檔案的資料夾底下
3.能否限制只能用下拉式選單「A」、「B」、「C」、「D」輸入,使用者不能自行輸入呢?

109電子測驗.7z

58.46 KB, 下載次數: 5

回復 支持 反對

使用道具 舉報

發表於 2020-6-17 19:24:28 | 顯示全部樓層
初學j 發表於 2020-6-17 16:55
有三個問題想請教老師:1.PDF檔名隨著使用者所輸入的工號代碼不同而不同
2.將這些PDF檔案存到D曹的路徑而不 ...

請問您
1.請問D:\109測驗結果\PDF檔案\
這個資料夾是否原本就存在.
2.若用工號代碼來儲存,第二次重覆要如何解決。
回復 支持 反對

使用道具 舉報

發表於 2020-6-17 19:39:16 | 顯示全部樓層
初學j 發表於 2020-6-17 16:55
有三個問題想請教老師:1.PDF檔名隨著使用者所輸入的工號代碼不同而不同
2.將這些PDF檔案存到D曹的路徑而不 ...

3.能否限制只能用下拉式選單「A」、「B」、「C」、「D」輸入,使用者不能自行輸入呢?
ANS:
改用ListBox就可以,請參考.
listbox_01.jpg

https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/combobox-control
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-6-18 08:51:50 | 顯示全部樓層
imingho 發表於 2020-6-17 19:24
請問您
1.請問D:\109測驗結果\PDF檔案\
這個資料夾是否原本就存在.

1.有存在,如果是明年度測驗就會新增一個資料夾為D:\110測驗結果\PDF檔案這樣的形式
2.那改用存入日期+時間00:00:00+工號代碼這樣可行嗎?
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-6-18 09:10:45 | 顯示全部樓層
imingho 發表於 2020-6-17 19:39
3.能否限制只能用下拉式選單「A」、「B」、「C」、「D」輸入,使用者不能自行輸入呢?
ANS:
改用ListBox就 ...

3好我來試試看謝謝老師
回復 支持 反對

使用道具 舉報

發表於 2020-6-18 09:35:29 | 顯示全部樓層
初學j 發表於 2020-6-18 08:51
1.有存在,如果是明年度測驗就會新增一個資料夾為D:\110測驗結果\PDF檔案這樣的形式
2.那改用存入日期+時 ...

程式碼如下:
  1. Public Sub ExcelTOPDF()
  2.     Dim FileName As String
  3.    
  4.     FileName = Replace(Date, "/", "_") & Format(Time(), "_hh_mm_ss_") & Range("B3").Value & ".pdf"
  5.         ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
  6.         "d:\110測驗結果\" & FileName '存放的路徑和每次檔名不同不知道要怎麼操作
  7. End Sub
複製代碼


109電子測驗.xlsm

51.9 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  

GMT+8, 2020-7-12 11:26 , Processed in 0.143201 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表