Tạo đồng hồ chạy trên EXCEL

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi Tuanktcdcn, 27 Tháng tư 2005.

13,846 lượt xem

  1. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Xin gửi tặng các bạn một Add-In chạy đồng hồ trên EXCEL.
    Bạn hãy thực hiện các bước:
    b1) Download và giải nén "Dongho.zip" vào máy của bạn
    b2) Mở EXCEL, vào menu Tools\Add-Ins... chọn "Browse" và chọn file "Dongho.xla" (bạn đã giải nén ở b1).
    ====================================
    File "Dongho.xla" không Protect VBA nên các bạn có thể chỉnh sửa theo ý mình.
     

    Các file đính kèm:

    #1
  2. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    anh có add in nào liên kết với ascess ko?
     
    #2
  3. Le tai dung

    Le tai dung Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    Hanoi
    chao tuan Kt cdcn
    toi lam theo ban va da chay duoc dong ho tren excel. ban co the chi cho toi cach tao va chinh sua dong ho do duoc ko
    thank nhieu nhe
     
    #3
  4. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Để chỉnh sửa bạn nhấn ALT+F11 (vào môi trường VBA) bạn sẽ thấy cái bạn cần sửa trong "Dongho.xla", sau khi sửa xong bạn chọn "Save" để ghi lại thay đổi.
    To LamQuocUy: Bạn hỏi rõ hơn được không
     
    #4
  5. Bình_OverAC

    Bình_OverAC Over Abnormal / Crazy

    Bài viết:
    845
    Đã được thích:
    7
    Nơi ở:
    Nha Trang
    Sub Ontimer()
    Application.OnTime Now + TimeValue("00:00:01"), "ProTimer"
    End Sub
    Nhờ bác Tuanktcdcn giải thích hộ em cái procedure này. Để em biết thêm thôi ấy mà. Ah bác giải thích hộ em cái method này luôn

    Ontime (Earliesttime, procedure as string, [lastesttime], [schedule])

    Cám ơn bác nhiều
     
    #5
  6. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    Gởi anh Tuấn

    tóm lại là em muốn mở và làm việc vơi file access trong môi trường excel được không??

    về chương trình kế toán của anh em có thắc mắc như sau:
    -Nếu số lượng chứng từ nhiều quá thì chương trình có bị đứng hay là mở ko được ko?(Hình như file nào co dung lượng hơi lớn thì không mơ được đâu)
    -Cách tạo menu của anh có giống cách tạo menu của anh Duyệt ko?
    (Hình như là khác).Anh vui lòng chỉ em cách tạo giống anh nha!!
    -Còn điều này nữa File kế toán của anh không thể xem sourse được?Tại sao vậy?
     
    #6
  7. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To: lamquocuy,
    Mạn phép anh Tuân trả lời bạn...
    Dĩ nhiên, nếu bố trí dữ liệu theo hàng (tức là một record là một hàng thì dữ liệu) và chỉ một table trên một sheet thì chỉ có thể tối đa là 65536 record. Tương đương với số hàng trên một worksheet của Excel. Còn bạn hỏi nếu số lượng chứng từ nhiều quá, tôi không hiểu ý bạn.
    Dĩ nhiên rồi bạn ơi ! file kế tóan của anh Tuân là file "thương mại" mà! Đâu phải "Open source" đâu!
    Thân,
    Lê Văn Duyệt


    Dix
     
    #7
  8. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    oh la la bây giờ em hiểu rồi

    Em có 1 file excel dung lượng 5,5M ko thể mở lên được
    Anh cho em biết lý do được ko?
     
    #8
  9. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To: Bạn lamquocuy,
    Tôi thường dùng các file > 6M và tôi vẫn mở được một cách bình thường thôi ! Điều này chứng tỏ chương trình trên máy của bạn có vấn đề. Còn việc tìm ra nguyên nhân, tôi đề nghị:
    _Bạn cho biết bạn dùng Excel phiên bản nào?
    _File bạn muốn mở ở phiên bản nào?
    _Khi mở ra, chương trình báo điều gì? Tôi thấy nhiều khi các anh chị trong công ty tôi, cứ kêu tôi để xem lỗi gì mà không hề xem xét chương trình báo cho bạn biết điều gì?!
    _File excel của bạn hay của người dùng khác trong mạng nội bộ? Tôi cũng nhiều khi "phá phách", không cho ai muốn sử dụng file excel của tôi nên người đó không mở được!
    Thân,
    Lê Văn Duyệt
     
    #9
  10. ForestC

    ForestC Thành viên hoạt động

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    File kế toán của tớ dung lượng 23 MB mà tớ vẫn mở được trên máy PII 64 MB kia kìa, hơi lâu chút thôi.
     
    #10
  11. nguoiconxunui

    nguoiconxunui Khách vãng lai

    Bài viết:
    1,256
    Đã được thích:
    219
    Nơi ở:
    Bình Định
    1. khác office
    2.File bị hư do khi bạn save lại sau khi làm việc lần trước
    3.Bị nhiễm vi rút (phổ biến là mydoom và Winfile- dòng virus W32)
    Bị mấy cái này thì bó tay, rất ít cơ hội phục hồi.
     
    #11
  12. ForestC

    ForestC Thành viên hoạt động

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    Không ít cơ hội phục hồi đâu: ý tôi là nếu bị các trường hợp như bạn nguoiconxunui nêu ra thì ta có thể use chương trình Excel Fix để phục hồi lại được. Vấn đề ở đây là chúng ta chỉ có bản Demo, bản này chỉ cho ta thấy được nội dung của file Excel đã bị hỏng, nhưng đến khi chúng ta thực hiện chức năng phục hồi thì nó đòi phải dùng bản trả tiền, ở đây tớ biết, trên webketoan này chúng ta có anh nipvnn có khả năng có được bản Excel Fix xịn đó, vì thế em kêu gọi sự giúp đỡ của anh nipvnn đối với việc mua bản quyền (chùa) chương trình Excel Fix. Mong anh giúp cho Excel Fan vụ này nhé, cảm ơn anh!
     
    #12
  13. StonyHeartedMan

    StonyHeartedMan Thành viên sơ cấp

    Bài viết:
    306
    Đã được thích:
    2
    Nơi ở:
    Hà nội
    #13
  14. StonyHeartedMan

    StonyHeartedMan Thành viên sơ cấp

    Bài viết:
    306
    Đã được thích:
    2
    Nơi ở:
    Hà nội
    ExcelRecovery 3.0
    ExcelRecovery is data recovery program for corrupted Microsoft Excel spreadsheets (.xls).

    The new ExcelRecovery 3.0 is capable of recovering corrupted files with password protection (if the password is known), restores worksheet names and has numerous other improvements. See product information for a complete list of features.

    Screenshot:
    [​IMG]

    More detail: http://www.officerecovery.com/excel/index.htm

    Download
     
    #14
  15. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Ontime (Earliesttime, procedure as string, [lastesttime], [schedule])
    Ontime là một Procedure gồm có 4 đối số:
    Earliesttime: là thời gian đợi để chạy "procedure as string", trong VD gọi là "Protimer"
    Now() + TimeValue("00:00:01") cos nghĩa là tính từ thời điểm hiện tại sau 1 giây thi cho chạy Sub "Protimer"
    procedure as string: kiểu đối số là String, là tên của một Procedure (Sub), Sub này sẽ được chạy sau TimeValue("00:00:01") tính từ thời điểm "bây giờ".
    [lastesttime]: thời gian đợi cho Sub "Protimer" chạy xong thì EXCEL mới thực hiện các lệnh của nó như Copy, Cut,Paste...trong thời gian này mà "Protimer" không xong thì bị bỏ qua(bị ngắt để EXCEL dùng các lệnh của nó). Nếu đối số này được bỏ qua thì EXCEL sẽ thực hiện tuần tự chạy "Protimer" xong rồi mới thực hiện lệnh của nó.
    [schedule]: là đối số kiểu Boolean (True/False). Nếu là True thì "Protimer" sẽ được nạp vào danh sách các Sub của Ontime để chạy, nếu False thì Ontime sẽ xóa các Sub được nạp từ trước để nhận Sub lần này (cuối cùng được gọi). Theo ngầm định thì đối số này nhận giá trị là True.

    Ứng dụng Sub Ontime của EXCEL làm đồng hồ là một ví dụ nhỏ, nó có thể được bạn phát triển lập chu trình thực hiện một công việc nào đó theo thời gian: bạn có thể lập một chương trình báo thức trong ngày, lịch họp, thanh toán tiền theo thời gian dùng telephone, net,...Các ứng dụng trên Ontime nếu chúng ta không có một thủ thuật "lồng Sub" thì hiệu quả và tính lý thú sẽ không cao và Dongho.xla là một ví dụ của "lồng Sub"

    Sub Ontimer
    Ontime(....,"Protimer")
    End Sub

    Sub Protimer
    Ontimer
    End Sub

    Chu trình lồng nhau đó được khép kín và nó trở thành một đồng hồ thực sự. Cái quan trọng nhất là bạn sẽ đưa lệnh gì vào trong các Sub đó.
    Nếu bại nào đã làm một ứng dụng khác phát triển từ Ontime có thể đưa ra chúng ta thảo luận.+

    Việc kết nối EXCEL và ACCESS là hoàn toàn thực hiện được nhưng từ ACCESS link file Excel vào dễ hơn. Còn từ EXCEL dùng file Access (*.mdb) Trong VBA bạn phải dùng ADO,ADO để kết nối (dùng Connection,Recordset,...) trong EFC đã có bài nói về kết nối này đó.
    - Như anh LeVanDuyet đã nói số chứng từ bạn có thể có tối đa 65535 trong một Sheet. Nếu số chứng từ khoảng 5000 thì tốc độ xử lý vẫn đảm bảo tốt, nhiều như ## ### thì việc xử lý không đơn giản bạn phải dùng thuật toán dòng đợi để xử lý - đây cũng là cái ưu điểm mà nhiều PM muốn đạt được.
    Nhân đây I chia sẻ chững bạn có file Excel nhiều dữ liệu, bạn đừng lập quá nhiều công thức khi mà bạn không cần dùng nó thường xuyên (VD bạn không cần phải có bảng Cân đối Tài khoản-CĐTK khi mà chưa phải cuối kỳ bạn chỉ cần để lại công thức ở dòng đầu đế cuối kỳ bạn mới copy cho các TK, và các sổ khác cũng vậy). Xây dựng một ứng dụng bạn phải quy hoạch dữ liệu cho đúng và cần tiết kiệm hết sức năng lực của EXCEL nếu không đến một lúc nào đó nó "Project" của bạn sẽ không thể tiếp tục được nữa.
    - Tạo Menu của anh Duyệt là một cách và của tôi cũng là một cách và cuối cùng cũng là Menu mà thôi. Nhưng theo A-Excel thì I phải thiết kế theo kiểu riêng vì nó còn liên quan tới chức năng "Quản trị hệ thống". Một lúc nào đó ta sẽ chia sẻ ở một topic khác.
    - Mã nguồn của A-Excel không thể mở được nhưng bạn quan tâm chung ta có thể chia sẻ mà.
     
    #15
  16. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    Cảm ơn các anh đã giúp em giải đáp thắc mắc của em
    Em hiện đang là sinh viên ngành kế toán năm I

    Em vẫn chưa hiểu từ "chia sẻ" của anh Tuấn là sao?
    Anh giải thích rõ hơn được ko???
     
    #16
  17. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    "chia sẻ" là chia cho bạn cái bạn cần chứ không phải tất cả, nếu là vật chất thì bạn nhìn thấy ngay như miếng bánh vậy, còn nếu phi vật chất thì trừu tượng một chút gắng hiểu thêm nha!
     
    #17
  18. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    Em hiểu rồi. :dzo:

    Anh chỉ em làm menu cấp 1 giống như menu "Trang đầu" của anh nhe
    (có thể gán marco va FaceID được, menu của anh Duyệt thì không)
     
    #18
  19. hoang1976

    hoang1976 Thành viên sơ cấp

    Bài viết:
    34
    Đã được thích:
    0
    Nơi ở:
    Hanoi
    Các bác cho em hỏi "ké" một câu nhé, các bác dùng thử file đồng hồ thì màn hình có bị giật giật theo giây không ạ? em dung thử thây cứ mỗi giây là chuột của em lại giật một cái, có cách nào để trên application vẫn hiển thị giờ mà chuột không bị giật không ạ?
     
    #19
  20. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    To Lamquochuy
    'Tao Menu
    Const cMenu = "A-EXCEL2005"
    Sub CreateMenubar()
    Dim oMenu As CommandBar
    Dim X As CommandBarControl
    'Tao Menubar
    Set oMenu = CommandBars.Add(Name:=cMenu, Position:=msoBarTop, MenuBar:=0)
    oMenu.Visible = True

    Set X = oMenu.Controls.Add(Type:=msoControlButton, Before:=1)
    With X
    .BeginGroup = True
    .Style = msoButtonIconAndCaption
    .OnAction = "mostart" 'Macro
    .Caption = "Trang d&au"
    .FaceId = 1016 '25 'Icon
    End With
    Set X = Nothing
    Set oMenu = Nothing

    End Sub
    Việc tạo đồng hồ nếu muốn chạy theo đơn vị giây bạn phải xử lý thật khéo các câu lệnh trong "Protimer", theo nguyên tắc mỗi lần Screen thay đổi (Application.Caption=Now()) thì EXCEL phải Refresh lại. Chúng ta phải thật hạn chế những lệnh thay đổi màn hình và những lệnh lặp.
    Chuột nhấp nháy sau mỗi giây còn do ảnh hưởng của tốc độ máy tính của bạn.
     
    #20

Chia sẻ trang này