Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Tham so trong lenh Call Shell
#1
VBA Access: Nhờ giúp đưa tham số vào hàm Call Shell để mở file Excel! Thanks!

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\BC_Thang_Phong_KT.xlsx"
Call Shell("EXCEL ""s", 1)                      'error
End Sub
Chữ ký của vodainhan Xin chào, mình là vodainhan, Tham gia http://thuthuataccess.com/forum từ ngày 06-11 -13.
Reply
Những người đã cảm ơn
#2
(05-07-18, 12:19 PM)vodainhan Đã viết: VBA Access: Nhờ giúp đưa tham số vào hàm Call Shell để mở file Excel! Thanks!

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\BC_Thang_Phong_KT.xlsx"
Call Shell("EXCEL ""s", 1)                      'error
End Sub

Sửa code này: 

    Call Shell("Excel.exe " & s, 1)

- Có khoảng trắng sau chữ '.exe'
- Bạn đã truyền tham số "s" là biến chuỗi vô câu lệnh thì đóng ngoặc kép nó làm gì.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(05-07-18, 01:18 PM)ongke0711 Đã viết:
(05-07-18, 12:19 PM)vodainhan Đã viết: VBA Access: Nhờ giúp đưa tham số vào hàm Call Shell để mở file Excel! Thanks!

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\BC_Thang_Phong_KT.xlsx"
Call Shell("EXCEL ""s", 1)                      'error
End Sub

Sửa code này: 

    Call Shell("Excel.exe " & s, 1)

- Có khoảng trắng sau chữ '.exe'
- Bạn đã truyền tham số "s" là biến chuỗi vô câu lệnh thì đóng ngoặc kép nó làm gì.

đã thử rồi mà không được đó chứ. nó bị lỗi.
vd: đường dẫn: D:\Khoa hoc\Baocao|BC_thang.xlsx
nó có nhiều thông báo lỗi: không tìm thấy D:\khoa.xlsx. ,   không tìm thấy D:\hoc.xlsx ...
Chữ ký của vodainhan Xin chào, mình là vodainhan, Tham gia http://thuthuataccess.com/forum từ ngày 06-11 -13.
Reply
Những người đã cảm ơn
#4
Bạn phải xem lại biến 's' của bạn.
Bạn khai báo: s = Application.CurrentProject.Path & "\BC_Thang_Phong_KT.xlsx" --> tức là file Excel này phải nằm trong cùng một folder chứa cái ứng dụng Access này thì nó mới tìm thấy chứ (Application.CurrentProject.Path).
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
(05-07-18, 02:29 PM)ongke0711 Đã viết: Bạn phải xem lại biến 's' của bạn.
Bạn khai báo: s = Application.CurrentProject.Path & "\BC_Thang_Phong_KT.xlsx" --> tức là file Excel này phải nằm trong cùng một folder chứa cái ứng dụng Access này thì nó mới tìm thấy chứ (Application.CurrentProject.Path).


CHÍNH XÁC LÀ NHƯ VẦY: 
File Access:                D:\Khoa hoc\TestCallShell.accdb
file Excel:                   D:\Khoa hoc\Bao cao\BC_Thang.xlsx

code 1 nút lệnh trên form (đã kiểm tra kỹ, sửa lại vẫn bị lỗi không rõ sai chỗ nào):

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\Bao cao\BC_Thang.xlsx"
Call Shell("EXCEL.exe " & s, 1)
End Sub

Bác test lại giúp, cám ơn thật nhiều!
Chữ ký của vodainhan Xin chào, mình là vodainhan, Tham gia http://thuthuataccess.com/forum từ ngày 06-11 -13.
Reply
Những người đã cảm ơn
#6
Hình như Tên Thư Mục và Tên File không được có khoảng trắng khi tham chiếu bằng Shell thì phải
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vodainhan
#7
Đúng như bác Xuân Thanh nói. Shell script không dùng được các tên folder, file có khoảng trắng.
Nếu không muốn đổi tên file. thư mục thì bạn dùng code của bạn maidinhdan theo llink bên dứoi.
Link: http://thuthuataccess.com/forum/thread-8444.html
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vodainhan
#8
(05-07-18, 03:24 PM)vodainhan Đã viết: CHÍNH XÁC LÀ NHƯ VẦY: 
File Access:                D:\Khoa hoc\TestCallShell.accdb
file Excel:                   D:\Khoa hoc\Bao cao\BC_Thang.xlsx

code 1 nút lệnh trên form (đã kiểm tra kỹ, sửa lại vẫn bị lỗi không rõ sai chỗ nào):

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\Bao cao\BC_Thang.xlsx"
Call Shell("EXCEL.exe " & s, 1)
End Sub

Bác test lại giúp, cám ơn thật nhiều!

Nếu trong đường dẫn hoặc thư mục có khoảng trắng thì bạn phải bỏ vào  ngoặc kép:

Mã:
Private Sub cmdOpenExcel_Click()
   Dim s As String
   s = Chr(34) & Application.CurrentProject.Path & "\Bao cao\BC_Thang.xlsx" & Chr(34)
   'Debug.Print s
   Call Shell("EXCEL.exe " & s, 1)
End Sub
Chữ ký của MTNQ Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn Xuân Thanh , vodainhan , Noname
#9
(05-07-18, 05:19 PM)MTNQ Đã viết:
(05-07-18, 03:24 PM)vodainhan Đã viết: CHÍNH XÁC LÀ NHƯ VẦY: 
File Access:                D:\Khoa hoc\TestCallShell.accdb
file Excel:                   D:\Khoa hoc\Bao cao\BC_Thang.xlsx

code 1 nút lệnh trên form (đã kiểm tra kỹ, sửa lại vẫn bị lỗi không rõ sai chỗ nào):

Private Sub cmdOpenExcel_Click()
Dim s As String
s = Application.CurrentProject.Path & "\Bao cao\BC_Thang.xlsx"
Call Shell("EXCEL.exe " & s, 1)
End Sub

Bác test lại giúp, cám ơn thật nhiều!

Nếu trong đường dẫn hoặc thư mục có khoảng trắng thì bạn phải bỏ vào  ngoặc kép:

Mã:
Private Sub cmdOpenExcel_Click()
   Dim s As String
   s = Chr(34) & Application.CurrentProject.Path & "\Bao cao\BC_Thang.xlsx" & Chr(34)
   'Debug.Print s
   Call Shell("EXCEL.exe " & s, 1)
End Sub

Lão MTNQ này nhanh tay thiệt. Đang tính nhắc thì thấy bài của lão. Hêhê 015
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
(05-07-18, 05:46 PM)Xuân Thanh Đã viết: Lão MTNQ này nhanh tay thiệt. Đang tính nhắc thì thấy bài của lão. Hêhê 015

005
Cũng sắp thành "Lão" rùi, mà "lão"  thì "chân chậm mắt mờ" chứ cũng còn "nhanh tay" lém  014
Chữ ký của MTNQ Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Demo Tổng hợp tất cả các kiểu thông báo tiếng việt trong Access maidinhdan 39 8,424 22-09-18, 12:40 PM
Bài mới nhất: NguyenDungAnh
  [Help] SQL trong VBA chạy không đúng! NguyenDungAnh 12 649 07-09-18, 10:44 AM
Bài mới nhất: NguyenDungAnh
  [Help] Tự chọn yes or no trong VBA khi chạy SQL NguyenDungAnh 7 408 26-08-18, 03:40 PM
Bài mới nhất: NguyenDungAnh
  Sử dụng Class Module và Kết nối dữ liệu SQL SERVER trong Access VBA lehongduc 62 34,314 03-08-18, 12:41 PM
Bài mới nhất: Cuong Servenet
  [Help] So sánh giá trị record trên cùng 1 trường trong 1 bảng để có kết quả tính toán đúng tvn_hut 5 478 29-05-18, 10:39 PM
Bài mới nhất: ongke0711

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line