Xin giúp : Mở 1 file trong VBA (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tedaynui

(*_*)
Thành viên danh dự
Tham gia
12/8/06
Bài viết
1,875
Được thích
2,480
Nhờ các anh chị giúp đỡ
Trong VBA, để mở một file Word, Access ... thì
Mã:
Shell "[B]Winword[/B] Path\ABC.doc"
Shell "[B]MSAccess[/B] Path\ABC.mdb"
vậy muốn mở file *.html *.pdf thì tên ứng dụng là gì ?
Nếu không muốn dùng
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE Path\ABC.html"
Mong được giúp đỡ, xin cám ơn !

TDN
 
help me

Help me!!
Tôi làm form để mở thông tin tại file kdns.xls bằng cú pháp sau
Private Sub cmdkdns_click()
Shell "Workbook g:\duanchuan\duan\kdns.xls"
End Sub
mà nó không thực hiện, ACE có thể giúp tôi thực hiện được không? trong trường hợp này mình có cần thiết phải type cái part ra không? Thank all
 
Copy and paste in Module try this Sub test() ' Workbooks.Open Filename:="C:\showthread.php.htm" ' or ' Workbooks.Open Filename:="C:\Name.xls" End Sub
 
Nhờ các anh chị giúp đỡ
Trong VBA, để mở một file Word, Access ... thì
Mã:
Shell "[B]Winword[/B] Path\ABC.doc"
Shell "[B]MSAccess[/B] Path\ABC.mdb"
vậy muốn mở file *.html *.pdf thì tên ứng dụng là gì ?
Nếu không muốn dùng
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE Path\ABC.html"
Mong được giúp đỡ, xin cám ơn !

TDN
anh có thể chỉ cho em cách mở 1 file POWER POINT và File WORD trong VBA trên EXCEL được không
nếu có ví dụ cụ thể càng tốt. em xin cảm ơn anh nhiều
 
Lần chỉnh sửa cuối:
anh có thể chỉ cho em cách mở 1 file POWER POINT và File WORD trong VBA trên EXCEL được không
nếu có ví dụ cụ thể càng tốt. em xin cảm ơn anh nhiều

Câu lệnh: CreateObject("Shell.Application").Open "Đường dẫn đến file" để mở bất cứ file nào
(miễn là file ấy có thể mở được bằng cách double click vào file)
 
TRONG EXCLE MUỐN TẠO MỚI 1 FILE POWER POINT CÓ SẲN THÌ MÌNH LÀM NHƯ THẾ NÀO ANH NDU
trong word thì em mò ra rồi
đây là code tạo mới một 1 file word có sẵn
Set wordapp = CreateObject("word.Application")
wordapp.Documents.Add Template:="D:\ABC.doCX"
wordapp.Visible = True

còn file PP thì chịu mong anh hướng dẫn dùm, xin cảm ơn anh nhiều
 
TẠO MỚI 1 FILE POWER POINT CÓ SẲN nghĩa là thế nào nhỉ? Tôi không hiểu
có nghĩa là đã có 1 file nào đó là file mẫu, người ta không muốn mở trực tiếp file đó lên rồi save as thành file khác
người ta muốn nhấn 1 nút thì nó sẽ ra file mới hoàn toàn (giống như file mẫu) sau đó tự người ta save lại tùy ý
 
có nghĩa là đã có 1 file nào đó là file mẫu, người ta không muốn mở trực tiếp file đó lên rồi save as thành file khác
người ta muốn nhấn 1 nút thì nó sẽ ra file mới hoàn toàn (giống như file mẫu) sau đó tự người ta save lại tùy ý

Chỗ xanh xanh không cần thực hiện thì chuyển thành chú thích

Mã:
Sub Button1_Click()
Dim PPApp As Object, P As Object, index As Long
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Activate
    Set P = PPApp.Presentations.Add
    P.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\1033\ContemporaryPhotoAlbum.potx"      '   "c:\hehe.potx"
    [COLOR=#0000ff]For index = 1 To P.SlideMaster.CustomLayouts.Count
        P.Slides.AddSlide index, P.SlideMaster.CustomLayouts(index)
    Next
    P.SaveAs "c:\hichic.pptx"[/COLOR]
End Sub
 
Chỗ xanh xanh không cần thực hiện thì chuyển thành chú thích

Mã:
Sub Button1_Click()
Dim PPApp As Object, P As Object, index As Long
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Activate
    Set P = PPApp.Presentations.Add
    P.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\1033\ContemporaryPhotoAlbum.potx"      '   "c:\hehe.potx"
    [COLOR=#0000ff]For index = 1 To P.SlideMaster.CustomLayouts.Count
        P.Slides.AddSlide index, P.SlideMaster.CustomLayouts(index)
    Next
    P.SaveAs "c:\hichic.pptx"[/COLOR]
End Sub
nếu mình lấy luôn tất cả toàn bộ thông tin trên file đó không bỏ cái gì thì nên làm như thế nào thầy? vì trong file của thầy chỉ lấy toàn bộ các mẫu layout chứ không có toàn bộ nội dung file
ý của em là tạo mới 1 file từ 1 file có sẵn. có nghĩa là nó lấy toàn bộ file kia (thay vì em copy bên ngoài rồi save as thành file khác) nhưng bây giờ em muốn nhấn nút thì nó sẽ tự động làm như vậy. xin chân thành cảm ơn các thầy đã quan tâm vấn đề này. xin chân thành cảm ơn
 
n
ý của em là tạo mới 1 file từ 1 file có sẵn. có nghĩa là nó lấy toàn bộ file kia (thay vì em copy bên ngoài rồi save as thành file khác)
Trong code của anh siwtom có đường dẫn tới 2 "file có sẵn" thì chỉ việc thay vào thôi
 
nếu mình lấy luôn tất cả toàn bộ thông tin trên file đó không bỏ cái gì thì nên làm như thế nào thầy? vì trong file của thầy chỉ lấy toàn bộ các mẫu layout chứ không có toàn bộ nội dung file
ý của em là tạo mới 1 file từ 1 file có sẵn. có nghĩa là nó lấy toàn bộ file kia (thay vì em copy bên ngoài rồi save as thành file khác) nhưng bây giờ em muốn nhấn nút thì nó sẽ tự động làm như vậy. xin chân thành cảm ơn các thầy đã quan tâm vấn đề này. xin chân thành cảm ơn

Tôi nghĩ là thế này. Template nó chỉ là cái sườn. Bạn dự định làm 10 presentation nhưng chúng chỉ khác nhau về nội dung còn có chung một cái sườn. Lúc đó thay vì 10 lần tạo "sườn - cấu trúc" từ A tới Z thì bạn chỉ tạo 1 lần duy nhất. Sau đó thì mỗi lần làm presentation mới thì bạn "load" cái sườn vào rồi nhập nội dung hiện hành.
Lúc đó thì dùng code trước thôi. Nhưng bạn phải tạo sườn. Cách tạo thì xin mời tìm đọc. Vắn tắt thì là: Mở PowerPoint --> View --> Slide Master --> chỉnh sửa --> save dưới định dạng "potx"

Bạn không thể: Mở PowerPoint --> thiết kế 1 presentation hoàn chỉnh --> nhưng không save ở dạng "pptx" mà save ở dạng "potx".

Có nghĩa là lúc đó thì bạn không có cái sườn kia. Tức nếu sau khi thực hiện code trong Excel bạn chuyển sang PowerPoint để thao tác bằng tay thì khi chọn menu Home --> New Slide thì bạn không có những slide trong sườn của mình để thêm vào. Vì bạn tạo sườn không đúng cách. Tôi nghĩ là thế vì tôi không nghiên cứu PP.

Nếu bạn cố tình: Mở PowerPoint --> thiết kế 1 presentation hoàn chỉnh --> nhưng không save ở dạng "pptx" mà save ở dạng "potx". thì
Mã:
Sub Button1_Click()
Dim PPApp As Object, P As Object
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Activate
    Set P = PPApp.Presentations.Open("c:\hehe.potx")
    P.SaveAs "c:\hichic.pptx"
End Sub

Tức bạn mở "gốc" rồi saveas, vậy gốc vẫn còn.

Chỉ có điều lúc đó chỗ xanh xanh save luôn thành "pptx" cho rồi.
 
nếu mình lấy luôn tất cả toàn bộ thông tin trên file đó không bỏ cái gì thì nên làm như thế nào thầy? vì trong file của thầy chỉ lấy toàn bộ các mẫu layout chứ không có toàn bộ nội dung file
ý của em là tạo mới 1 file từ 1 file có sẵn. có nghĩa là nó lấy toàn bộ file kia (thay vì em copy bên ngoài rồi save as thành file khác) nhưng bây giờ em muốn nhấn nút thì nó sẽ tự động làm như vậy. xin chân thành cảm ơn các thầy đã quan tâm vấn đề này. xin chân thành cảm ơn
Cuối năm rồi nên làm thầy bói đoán thử 1 quẻ. Có phải ý bạn là chỉ đơn giản thế này không?
Không trúng coi như vui hén.
PHP:
Sub Copy_File_As()
Dim FileSource, FileDes
FileSource = ThisWorkbook.Path & "\presentation1.pptx"
FileDes = ThisWorkbook.Path & "\presentation2.pptx"
With CreateObject("Scripting.FileSystemObject")
   .copyfile FileSource, FileDes
End With
End Sub
 
nếu mình lấy luôn tất cả toàn bộ thông tin trên file đó không bỏ cái gì thì nên làm như thế nào thầy? vì trong file của thầy chỉ lấy toàn bộ các mẫu layout chứ không có toàn bộ nội dung file
ý của em là tạo mới 1 file từ 1 file có sẵn. có nghĩa là nó lấy toàn bộ file kia (thay vì em copy bên ngoài rồi save as thành file khác) nhưng bây giờ em muốn nhấn nút thì nó sẽ tự động làm như vậy. xin chân thành cảm ơn các thầy đã quan tâm vấn đề này. xin chân thành cảm ơn

Thế dùng tạm cái này đi

Nếu ở trong powerpoint thì dùng cái này

PHP:
Sub CommandButton1_Click()
      Dim sTemplate As String
      sTemplate = "C:\Users\newnew\AppData\Roaming\Microsoft\Templates\Mau_moi14.potx"
      Presentations.Open sTemplate, False, True, True
End Sub

Thích ở Excel thì dùng cái này (sửa từ code bác Siwtom, cám ơn bác)
PHP:
Sub Button1_Click()
      Dim PPApp As Object,sTemplate As String

      sTemplate = "C:\Users\newnew\AppData\Roaming\Microsoft\Templates\Mau_moi14.potx"
      Set PPApp = CreateObject("PowerPoint.Application")
      PPApp.Activate
      PPApp.Presentations.Open sTemplate, False, True, True    
End Sub

tự sửa giá trị đường dẫn sTemplate lại cho hợp lý
--
Mà Thầy ơi là thầy, hỏi bao nhiêu lần ở GPE rui, mà sao không có file ví dụ cho người ta thử người ta làm cho, cứ phát biểu xuông vậy
vì thế thầy tự test nhé - đặc biệt là cái sub sau cho excel
có chi phản hồi sớm
xin cảm ơn
 
Lần chỉnh sửa cuối:
cảm ơn các bạn bè và các bậc tiền bối. vodoi2x ,quanghai1969, siwtom và anh Ndu. mình đã giải quyết được vấn đề. Code của voidoi2x là đúng yêu cầu, qua đây mình học hỏi được thêm vài cách mở file của thầy siwtom. và anh quanghai1969. chúc đại gia đình GPE đón xuân mới vui vẻ. thật tình từ khi biết đến GPE mình đã giải quyết được rất nhiều việc, hiện tại vì cơm áo gạo tiền nên ít có thời gian góp sức cho GPE. Hy vọng sau này có nhiều thời gian để cùng GPE giúp đỡ cho những người (chẳng hạn giống như tôi bây giờ) giải quyết được nhiều công việc. một lần nữa xin chân thành cảm ơn
 
Cũng đang vướng vấn đề mở file bằng VBA:
Em muốn mờ file bàng VBA trên Access xin các thầy chỉ giúp.

Ý của em là: Trong một folder em có nhiều file mdb " D:/DATA/data1.mdb ..... data9.mdb" và một file chay.mdb
Trong file chay.mdb em tạo form có các nút bấm tương đương với data1.mdb đến data9.mdb .khi bấm vào các nút lệnh tương ứng thì nó sẽ thực thi file data tương ướng trong folder D:/DATA/data..mdb nhưng có điều em muốn nó sửa tên file bằng một cái tên khác khi chạy.

Ví dụ: Chọn nút bấm trên form là data1 nó sẽ sửa tên data1.mdb (trong D:/DATA/data1.mdb) thành update.mdb và chạy file update.mdb để thực hiện công việc sau khi thoát file update.mdb thì nó sẽ tự động sửa tên về data1.mdb. Mỗi khi chạy các file data1..9.mdb bằng nút lệnh tương ứng trên form của file chay.mdb thì nó sẽ sửa tên thành 1 tên duy nhất là update.mdb sau khi thoát nó lại về tên ban đầu.

Em tìm hiểu mãi mà vẫn chưa làm được các thầy giúp em vơi nhé.
 
Em muốn thực hiện mở file .jpg bằng nút lệnh trong form thì dùng lệnh nào nhỉ? Mong các bác chỉ dùm
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom