Code để mở một file pdf với tên và đường dẫn đã biết

Liên hệ QC

dtson

Thành viên mới
Tham gia
2/5/09
Bài viết
1
Được thích
0
Chào các bạn!
Các bạn làm ơn chỉ giúp mình viết code để mở một file đuôi .pdf (Tên file và đường dẫn đã có sẵn trong file excel).
hơn nữa nếu các bạn có thể viết thêm cho mình đoạn code để
sau khi mở file pdf này lên, mình muốn in file đó ra khổ giấy A3 dạng landscap.
Bạn nào biết cách viết code như vậy, làm ơn chỉ giúp mình với, cám ơn nhiều!
 
Chào các bạn!
Các bạn làm ơn chỉ giúp mình viết code để mở một file đuôi .pdf (Tên file và đường dẫn đã có sẵn trong file excel).
Bạn dùng code sau để mở file pdf nhé
Mã:
Sub MoPdfFile()
  With CreateObject("Shell.Application")
     .Open ("DuongDanDenFile\TenFile.pdf")
  End With
  
End Sub
 
Upvote 0
Ngoài ra bạn còn có thể dùng cách sau:

Bạn đưa đoạn code này vào một module

Mã:
Option Explicit

'   Khai báo nhằm mở một tập tin giống như khi bạn Double Click vào tập tin
'   khi muốn mở một tập tin trong Window explorer
#If Win32 Then
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Declare Function GetDesktopWindow Lib "user32" () As Long

#Else
    Declare Function ShellExecute Lib "SHELL" (ByVal hwnd%, _
                                               ByVal lpszOp$, ByVal lpszFile$, ByVal lpszParams$, _
                                               ByVal lpszDir$, ByVal fsShowCmd%) As Integer
    Declare Function GetDesktopWindow Lib "User" () As Integer
#End If
'   Biến này sẽ mở tập tin, xem ở dạng toàn bộ màn hình
Private Const SW_SHOWNORMAL = 3

Function StartDoc(ByVal DocName As String) As Long
    '   Hàm này nhằm hổ trợ mở một tập tin
    '   Chỉ việc gọi tên tập tin đó
    Dim Scr_hDC As Long
    Scr_hDC = GetDesktopWindow()
    StartDoc = ShellExecute(Scr_hDC, "Open", _
                            DocName, "", "C:\", SW_SHOWNORMAL) 'Bạn có thể thay đổi đường dẫn này
    'Chú ý: Nếu (StartDoc<0 or StartDoc>32): Mở tập tin thành công
    '  
End Function

Vậy khi cần dùng bạn chỉ việc
Mã:
Dim lOpenFile As Long
lOpenFile = StartDoc(sFullPath)
'Xử lý giá trị của biến này để biết là mở được hay không?

Have fun.

Lê Văn Duyệt
 
Upvote 0
Gửi Anh Lê Văn Duyệt!
Trong Acceess Có một đối tượnTexextextbox có tên là File dùng để lưu đường dẫn của một tập tin bất kỳ
Nút command có tên GetFile Dùng để chọn tập tin bất kỳ sau đó lưu đường dẫn của tập tin đó vào textbox.
Nút Command OpenFile dùng để mở tập tin có đường dẫn lưu ở textbox.
Xin anh và các Pro giúp đỡ!
Chân thành cảm ơn rất nhiều
 
Upvote 0
Cho em hỏi...nếu như có rất nhiều file PDF trong foder đó và mình muốn mở 1 file thôi thì làm thế nào ạ. Ví dụ trong foder có các file PDF như: 11,12,13,14,15,22,21,1000,....và mình muốn mở file PDF 11 hoặc 22 hoặc 1000...nói chung là bất kỳ file nào thì làm thế nào ạ. Mong các bác giúp đỡ. Tks all.
 
Upvote 0
Cho em hỏi...nếu như có rất nhiều file PDF trong foder đó và mình muốn mở 1 file thôi thì làm thế nào ạ. Ví dụ trong foder có các file PDF như: 11,12,13,14,15,22,21,1000,....và mình muốn mở file PDF 11 hoặc 22 hoặc 1000...nói chung là bất kỳ file nào thì làm thế nào ạ. Mong các bác giúp đỡ. Tks all.

Muốn mở file nào thì duyệt Windows Explore đến file ấy rồi Double Click thôi
Còn nếu bạn hỏi có liên quan đến code VBA thì người ta cũng sẽ tạo 1 hộp Open File (Application.GetOpenFileName...) rồi cũng chọn bằng tay thôi
Hỏi gì chẳng hiểu cái gì cả
 
Upvote 0
Em biết bác là cao thủ...và có lẽ e nói bác chưa hiểu...để e nói rõ hơn 1 chút: e thấy ở cty cũ của em có 1 folder có đến hơn 8000 file PDF là các mã: 120000,120001,...vv. Và để mở bất kỳ 1 file nào trong foder đó qua excel thì chỉ cần gõ mã vào 1 ô excel đã định (thậm chí là bất kỳ 1 ô nào_tất nhiên là đã gán phím tắt. VD: Ctrl+w chẳng hạn)....là sẽ mở file PDF đó lên.
Trong code của bác Hai Lúa Miền Tây là phải có file PDF cụ thể. Nhưng em muốn nó là 1 biến i chẳng hạn, và chỉ cần nhập mã cho biến i (Input box đó) thì sẽ mở file đó lên.
Không biết như vậy đã rõ chưa ạ.
 
Upvote 0
Em biết bác là cao thủ...và có lẽ e nói bác chưa hiểu...để e nói rõ hơn 1 chút: e thấy ở cty cũ của em có 1 folder có đến hơn 8000 file PDF là các mã: 120000,120001,...vv. Và để mở bất kỳ 1 file nào trong foder đó qua excel thì chỉ cần gõ mã vào 1 ô excel đã định (thậm chí là bất kỳ 1 ô nào_tất nhiên là đã gán phím tắt. VD: Ctrl+w chẳng hạn)....là sẽ mở file PDF đó lên.
Trong code của bác Hai Lúa Miền Tây là phải có file PDF cụ thể. Nhưng em muốn nó là 1 biến i chẳng hạn, và chỉ cần nhập mã cho biến i (Input box đó) thì sẽ mở file đó lên.
Không biết như vậy đã rõ chưa ạ.
Đơn giản thì tạo 1 form, trong form đó có 1 textbox để gõ tên + nút mở file.

gán code vào nút đó:

Mã:
  With CreateObject("Shell.Application")      
       .Open ("DuongDanDenFolderChuaFilepdf\" & TextBoxTrenform &".pdf")   
  End With
 
Upvote 0
Bác Lê Văn Duyệt cho em hỏi mình có thể tạo 1 nút bấm Button khi mình gõ tên file vào thì mình bấm nút đọc file nó mở file pdf ấy trong thư mục lên không ạ. Cảm ơn bâc đã quan tâm
 

File đính kèm

  • F18AFAF6-F058-4E8A-9A2E-9EDFF7436258.jpeg
    F18AFAF6-F058-4E8A-9A2E-9EDFF7436258.jpeg
    73.4 KB · Đọc: 17
Upvote 0
Bác Lê Văn Duyệt cho em hỏi mình có thể tạo 1 nút bấm Button khi mình gõ tên file vào thì mình bấm nút đọc file nó mở file pdf ấy trong thư mục lên không ạ. Cảm ơn bâc đã quan tâm
Cái này có thể làm như thế này:
1/ Nhấn nút nó hiện cửa sổ để chọn Folder chứa File cần lấy danh sách tên File và tạo Hyperlink.
2/ Nhấn Ctrl + F tìm tên File muốn mở và nhấn vào Link để mở File.
 
Upvote 0
Ngoài ra bạn còn có thể dùng cách sau:

Bạn đưa đoạn code này vào một module

Mã:
Option Explicit

'   Khai báo nhằm mở một tập tin giống như khi bạn Double Click vào tập tin
'   khi muốn mở một tập tin trong Window explorer
#If Win32 Then
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Declare Function GetDesktopWindow Lib "user32" () As Long

#Else
    Declare Function ShellExecute Lib "SHELL" (ByVal hwnd%, _
                                               ByVal lpszOp$, ByVal lpszFile$, ByVal lpszParams$, _
                                               ByVal lpszDir$, ByVal fsShowCmd%) As Integer
    Declare Function GetDesktopWindow Lib "User" () As Integer
#End If
'   Biến này sẽ mở tập tin, xem ở dạng toàn bộ màn hình


Lê Văn Duyệt
[/QUOTE]
[ATTACH type="full"]231569[/ATTACH]
 
Lần chỉnh sửa cuối:
Upvote 0
Muốn mở file nào thì duyệt Windows Explore đến file ấy rồi Double Click thôi
Còn nếu bạn hỏi có liên quan đến code VBA thì người ta cũng sẽ tạo 1 hộp Open File (Application.GetOpenFileName...) rồi cũng chọn bằng tay thôi
Hỏi gì chẳng hiểu cái gì cả
Chào Thầy.

Em đang sử chức năng này chọn và mở 1 loạt file excel. Tuy nhiên em muốn khi chạy code thì hộp thoại sẽ hiện đúng đường dẫn cố định mong muốn, không biết có cách nào không Thầy?
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom