Sữa lỗi: runtime error 438

Liên hệ QC

spacemanforever

Thành viên hoạt động
Tham gia
8/10/08
Bài viết
113
Được thích
71
CHÀO GPE!
Mọi người hỗ trợ em sữa lỗi RUNTIME ERROR 438 nhé.
cảm ơn mọi nguoi
 

File đính kèm

  • Add text to shape.rar
    15.1 KB · Đọc: 73
Theo hiểu biết của tôi, Khi dùng đối tượng Shape trong VBA để điều chỉnh text, format, ... , trước tiên bạn phải Select nó trước sau đó mới điều chỉnh, vậy thủ tục như sau:

PHP:
Private Sub cmdOK_Click()
    Application.ScreenUpdating = False
    ActiveSheet.Shapes("Rectangle 2").Select
    Selection.Characters.Text = txt1.Value
    Range("A1").Select
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
À bạn ơi, tôi nghĩ cái này tốt hơn:

PHP:
Private Sub cmdOK_Click()
    ActiveSheet.Shapes("Rectangle 2").TextFrame.Characters.Text = txt1.Value
End Sub
 
Upvote 0
anh @Hoàng Trọng Nghĩa có thể giúp e chữa lỗi này ko ạ? e mới biết ứng dụng VBA mới đây, khi dùng code này để mở file word thì ok, nhưng mở ppt thì lại bị lỗi 438, mong được anh hướng dẫn, cám ơn anh nhiều
 

File đính kèm

  • Annotation 2020-04-17 235013.jpg
    Annotation 2020-04-17 235013.jpg
    38.4 KB · Đọc: 12
Upvote 0
Upvote 0
Upvote 0
thì mình chỉ cần click vô là mở dc file ppt đó thôi bạn, mình làm với word thì dc nhưng với ppt thì lại báo lỗi vậy ấy
Thử code này/
Mã:
Sub GPE()
On Error Resume Next
Dim PowerPointApp As Object, myPresentation As Object, mySlide As Object
    Set PowerPointApp = CreateObject("PowerPoint.Application")
    Set myPresentation = PowerPointApp.Presentations.Add
    Set mySlide = myPresentation.Slides.Add(1, 11) = ppLayoutTitleOnly
    Set mySlide = Nothing
    Set myPresentation = Nothing
    Set PowerPointApp = Nothing
End Sub
 
Upvote 0
Thử code này/
Mã:
Sub GPE()
On Error Resume Next
Dim PowerPointApp As Object, myPresentation As Object, mySlide As Object
    Set PowerPointApp = CreateObject("PowerPoint.Application")
    Set myPresentation = PowerPointApp.Presentations.Add
    Set mySlide = myPresentation.Slides.Add(1, 11) = ppLayoutTitleOnly
    Set mySlide = Nothing
    Set myPresentation = Nothing
    Set PowerPointApp = Nothing
End Sub
bạn ơi code này mình chèn địa chỉ của file ppt của mình vào chỗ nào nhỉ
Bài đã được tự động gộp:

Sub BG1_Click()
Set PowerPointApp = CreateObject("PowerPoint.Application")
PowerPointApp.Presentations.Add Template:=ThisWorkbook.Path & "\content\" & "1.pptx"
PowerPointApp.Visible = True
End Sub
code mình áp dụng là thế này ạ
Bài đã được tự động gộp:

Thử code này/
Mã:
Sub GPE()
On Error Resume Next
Dim PowerPointApp As Object, myPresentation As Object, mySlide As Object
    Set PowerPointApp = CreateObject("PowerPoint.Application")
    Set myPresentation = PowerPointApp.Presentations.Add
    Set mySlide = myPresentation.Slides.Add(1, 11) = ppLayoutTitleOnly
    Set mySlide = Nothing
    Set myPresentation = Nothing
    Set PowerPointApp = Nothing
End Sub
mình đã thử code bạn tạo, nó ra 1 file ppt trắng bạn ơi, ý của mình muốn mở 1 file ppt đã có sẵn trong thư mục ấy ạ
 
Lần chỉnh sửa cuối:
Upvote 0
bạn ơi code này mình chèn địa chỉ của file ppt của mình vào chỗ nào nhỉ
Bài đã được tự động gộp:

Sub BG1_Click()
Set PowerPointApp = CreateObject("PowerPoint.Application")
PowerPointApp.Presentations.Add Template:=ThisWorkbook.Path & "\content\" & "1.pptx"
PowerPointApp.Visible = True
End Sub
code mình áp dụng là thế này ạ
Bài đã được tự động gộp:


mình đã thử code bạn tạo, nó ra 1 file ppt trắng bạn ơi, ý của mình muốn mở 1 file ppt đã có sẵn trong thư mục ấy ạ
Lúc đầu mình đã hỏi nhưng bạn lại nói chỉ mở file PowerPoint thôi, làm mất thời gian. Bây giờ mình ngủ đây, có gì mai tính.
Mã:
Sub GPE()
On Error Resume Next
Dim PowerPointApp As Object, myPresentation As Object
    Set PowerPointApp = CreateObject("PowerPoint.Application")
    Set myPresentation = PowerPointApp.Presentations.Open("c:\abc.pptx")
    Set myPresentation = Nothing
    Set PowerPointApp = Nothing
End Sub
 
Upvote 0
Lúc đầu mình đã hỏi nhưng bạn lại nói chỉ mở file PowerPoint thôi, làm mất thời gian. Bây giờ mình ngủ đây, có gì mai tính.
Mã:
Sub GPE()
On Error Resume Next
Dim PowerPointApp As Object, myPresentation As Object
    Set PowerPointApp = CreateObject("PowerPoint.Application")
    Set myPresentation = PowerPointApp.Presentations.Open("c:\abc.pptx")
    Set myPresentation = Nothing
    Set PowerPointApp = Nothing
End Sub
cám ơn bạn rất rất nhiều nhé, cũng xin lỗi vì mình giải thích ko rõ ràng, file đã chạy rồi ạ, cám ơn bạn nhiều hihi
 
Upvote 0
Web KT

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

Back
Top Bottom