Nói, tôi đang viết một VBA bên trong tệp excel của mình sample.xls. Bây giờ tôi muốn nhận được đầy đủ đường dẫn của sample.xls trong VBA của tôi. Tôi phải làm nó như thế nào?Cách lấy tên/đường dẫn tệp excel trong VBA
Trả lời
Nếu bạn có ý nghĩa VBA, sau đó bạn có thể sử dụng FullName, ví dụ:
strFileFullName = ActiveWorkbook.FullName
Chắc chắn bạn có nghĩa là ThisWorkbook.FullName? ;) – Oorang
Không nhất thiết. – Fionnuala
Nhận xét của Oorang là đúng: 'ThisWorkbook.FullName' sẽ là cuộc gọi chính xác và an toàn. Câu hỏi của Veera nói rằng: "Tôi đang viết một VBA * bên trong * các tệp mẫu excel của tôi. Bây giờ tôi muốn lấy đường dẫn đầy đủ của sample.xls trong VBA của tôi". (Nhấn mạnh thêm vào.) Trong trường hợp này, việc sử dụng 'ThisWorkbook.FullName' được đảm bảo là đúng, trong khi 'ActiveWorkbook.FullName' có thể đưa ra một câu trả lời sai lầm nếu "sample.xls" hiện không phải là sổ làm việc hoạt động. –
strScriptFullname = WScript.ScriptFullName
strScriptPath = Left(strScriptFullname, InStrRev(strScriptFullname,"\"))
Các op nói * bên trong * sample.xls, mà làm cho tôi nghi ngờ của VBScript. Tôi nghi ngờ VBA. – Fionnuala
ActiveWorkbook.FullName sẽ là tốt hơn tôi nghĩ, trong trường hợp bạn có VBA Macro được lưu trữ trong một Workbook Excel, nhưng bạn muốn lấy các chi tiết của Excel mà bạn đang chỉnh sửa, không phải nơi Macro cư trú.
Nếu chúng cư trú trong cùng một tệp, thì nó không quan trọng, nhưng nếu chúng nằm trong các tệp khác nhau và bạn muốn tệp nơi Dữ liệu thay vì Macro, thì ActiveWorkbook là tệp cần tìm , bởi vì nó đề cập đến cả hai kịch bản.
đây là một lựa chọn đơn giản cung cấp tất cả các câu trả lời, Tên đầy đủ, Đường dẫn, tên tệp.
Dim FilePath, FileOnly, PathOnly As String
FilePath = ThisWorkbook.FullName
FileOnly = ThisWorkbook.Name
PathOnly = Left(FilePath, Len(FilePath) - Len(FileOnly))
Insted of 'PathOnly = Left (FilePath, Len (FilePath) - Len (FileOnly))' bạn có thể viết: 'PathOnly = ThisWorkbook.Path' – EBH
- 1. Chuỗi VBA Excel VBA
- 2. OnClick trong Excel VBA
- 3. Array trong excel vba
- 4. VBA - Tạo tệp Excel từ Access (QueryTable)
- 5. Văn bản thay thế trong mã VBA của tệp Excel
- 6. Excel VBA: Lấy giá trị từ Form Controls
- 7. EXcel VBA: Excel Macro để tạo bảng trong PowerPoint
- 8. Lọc các mảng 2D trong Excel VBA
- 9. Thực thi .bat tệp từ Excel VBA Macro
- 10. Excel vba - xlDown
- 11. Cách lấy địa chỉ ô có chức năng VBA trong trang tính Excel
- 12. Chức năng mảng trong Excel VBA
- 13. Cách cài đặt tệp mscomct2.ocx từ tệp .cab (Mẫu Người dùng Excel và VBA)
- 14. Cách lấy đường dẫn tệp từ URI?
- 15. Cách truy cập các nhóm liên lạc trong Excel VBA?
- 16. Xóa hàng trống trong Excel bằng VBA
- 17. Cách lấy tệp trong đường dẫn tương đối trong C#
- 18. Cách lấy kích thước của một phạm vi trong Excel
- 19. CopyOrigin trên Chèn trong Excel VBA
- 20. vba: Nhập tệp văn bản vào bảng excel
- 21. Cắt ô bằng VBA trong Excel
- 22. Thanh tiến trình trong VBA Excel
- 23. Cắt xén đôi với VBA trong excel
- 24. VBA giảm thiểu băng trong Excel
- 25. Excel VBA - Range.Copy transpose paste
- 26. Cách lấy ngày giờ hiện tại bằng UTC từ macro VBA Excel
- 27. Làm cách nào để lấy id của bản ghi vừa được chèn bằng VBA Excel?
- 28. Excel vba - chuyển đổi chuỗi thành số
- 29. Cách lấy chỉ mục cột cuối cùng đọc tệp excel?
- 30. Mở truy cập từ Excel VBA
Khi bạn nói VBScript * bên trong * sample.xls, bạn có nghĩa là VBA, có nguồn gốc từ Excel không? – Fionnuala
@Remou có, đó là VBA. – Veera
Bạn có muốn sửa lại tiêu đề và thẻ không? – Oorang