Làm sao để lấy flash trong Excel

Liên hệ QC
Cảm ơn bác ndu, em cho flash vào đc rồi.

To ngodany: tớ xóa file flash trong thư mục của cậu, user form của bạn vẫn hiển thị flash bình thường. có lẽ flash được đính luôn trên userform?
Bạn xem đoạn video clip ở trên, có thấy tôi chỉnh mục EmbedMovie = TRUE không? Chỉnh như vậy để "đính chết" flash trên UserForm luôn (dù file flash gốc có bị xóa cũng không có vấn đề)
Phân tích các mặt lợi hại:
- Nếu chỉnh mục EmbedMovie = TRUE thì khi gửi file cho người khác, ta không cần phải gửi thêm file flash gốc (nó đã được nhúng trong Excel rồi). Tuy nhiên cũng vì việc này mà làm cho dung lương file tăng lên (vì phải cộng thêm dung lượng file flash)
- Nếu chỉnh mục EmbedMovie = FALSE thì khi gửi file cho người khác, ta buộc phải gửi thêm file flash gốc, nhưng lại có ưu điểm là không làm tăng dung lượng file Excel
 
Cảm ơn các bạn. Mình đã đọc những bài ở dưới rồi và tiến hành các bước cho flash vào excel.
 
Lần chỉnh sửa cuối:
Chắc chắn thiếu chổ EMBED MOVIE - chọn TRUE
Bài #2 đã hướng dẩn đầy đủ rồi
Thầy Ndu ơi nhờ thầy xem giùm em với.
Em có dowload file của anh le van duyet về và thêm đoạn code vào form thì hình flash không chạy được thầy xem giùm em với
 

File đính kèm

  • Embbedded_flash_in_UserForm.rar
    71.8 KB · Đọc: 20
Thầy Ndu ơi nhờ thầy xem giùm em với.
Em có dowload file của anh le van duyet về và thêm đoạn code vào form thì hình flash không chạy được thầy xem giùm em với

Flash nó im re là phải rồi
Muốn nó 'động đậy' phải dùng cách khác, cụ thể là dùng hàm SetTimer, KillTimer (hàm API)
Cụ thế:
1> Code trong Module:
Mã:
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public hWnd As Long, lCount As Long
Sub TimerProc(ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  On Error Resume Next
  lCount = lCount + 1
  If lCount = 4 Then Unload UserForm1
End Sub
Sub TimerStart()
  TimerStop
  SetTimer hWnd, 1, 1000, AddressOf TimerProc
End Sub
Sub TimerStop()
  KillTimer hWnd, 1
End Sub
2> Code trong UserForm
Sửa lại như sau:
Mã:
Private Sub UserForm_Initialize()
  Me.ShockwaveFlash1.Playing = True
  [COLOR=#ff0000]lCount = 0
  hWnd = FindWindow("ThunderDFrame", Me.Caption)[/COLOR]
End Sub
Private Sub UserForm_Activate()
  Application.Visible = False
  [COLOR=#ff0000]TimerStart[/COLOR]
End Sub
Private Sub UserForm_Terminate()
  Me.ShockwaveFlash1.Playing = False
  Application.Visible = True
  [COLOR=#ff0000]TimerStop[/COLOR]
End Sub
Chổ màu đỏ là những chổ thêm vào để "kết nối" với đồng hồ đếm thời gian
 

File đính kèm

  • Embbedded_flash_in_UserForm.rar
    77.3 KB · Đọc: 77
Flash nó im re là phải rồi
Muốn nó 'động đậy' phải dùng cách khác, cụ thể là dùng hàm SetTimer, KillTimer (hàm API)
Cụ thế:
1> Code trong Module:
Mã:
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public hWnd As Long, lCount As Long
Sub TimerProc(ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  On Error Resume Next
  lCount = lCount + 1
  If lCount = 4 Then Unload UserForm1
End Sub
Sub TimerStart()
  TimerStop
  SetTimer hWnd, 1, 1000, AddressOf TimerProc
End Sub
Sub TimerStop()
  KillTimer hWnd, 1
End Sub
2> Code trong UserForm
Sửa lại như sau:
Mã:
Private Sub UserForm_Initialize()
  Me.ShockwaveFlash1.Playing = True
  [COLOR=#ff0000]lCount = 0
  hWnd = FindWindow("ThunderDFrame", Me.Caption)[/COLOR]
End Sub
Private Sub UserForm_Activate()
  Application.Visible = False
  [COLOR=#ff0000]TimerStart[/COLOR]
End Sub
Private Sub UserForm_Terminate()
  Me.ShockwaveFlash1.Playing = False
  Application.Visible = True
  [COLOR=#ff0000]TimerStop[/COLOR]
End Sub
Chổ màu đỏ là những chổ thêm vào để "kết nối" với đồng hồ đếm thời gian
Cảm ơn thầy. em mò hoài mà không ra.
cảm ơn thầy một lần nữa
 
Web KT
Back
Top Bottom