Code Snippets

Liên hệ QC

kelvin

Thành viên thường trực
Tham gia
24/6/06
Bài viết
202
Được thích
184
Nghề nghiệp
Tư vấn xây dựng, kinh doanh in ấn
Với suy nghĩ:
-Các hàm macro 4 đã dịch sang mã máy và hình như đã được tích hợp vào file Excel.exe nên sẽ chạy nhanh hơn VBA
-Máy cấu hình rất thấp (cở window 3., Excel 4, CPU:32MHz) vẫn chạy được,
-Đã có nhiều chương trình hoàn chỉnh viết chỉ bằng function và macro 4
-Tận dụng được các chức năng, hàm tự tạo mà những người đi trước dã lập ra mà không cần biết sâu về nó
-Từ macro4 có thể gọi VBA và ngược lại
-Hổ trợ tuyệt vời Unicode:nhất là trong form, ghi chú trong VBA
-Việc tìm kiếm trên mạng về macro 4 rất ít, các sub macro 4 có thể mai một đi mà người đi sau sẽ mất công suy nghĩ, khám phá lại
Mong các bạn có các đoạn code nhỏ về macro 4,dù là VBA dư sức làm được, post lên mục nầy để làm thành 1 bộ thư viện macro 4
 
Lần chỉnh sửa cuối:
Các bạn xem 1 cách trang trí, ghi chú trong macro sheet của "Classic.Poppy by VicodinES", virus đó, nhưng mình đã xóa hết code rồi, không lây nhiểm đâu
 

File đính kèm

  • MacroSheetVirusDeleted.zip
    16 KB · Đọc: 267
Gửi các bạn xem tập hợp các lệnh của macro 4, file excel, copy từ help qua, dùng để ghi chú thêm cÁC kinh nghiệm của mình
 

File đính kèm

  • MacroEx4+PageOfBook+ExplanationVN.zip
    47.2 KB · Đọc: 441
Hộp thoại File\Open với Caption, Files of Type của mình chọn
 

File đính kèm

  • OpenDialog.zip
    1.7 KB · Đọc: 228
Sub Kiểm tra dấu phân cách
 

File đính kèm

  • DauCach.zip
    8 KB · Đọc: 202
Lần chỉnh sửa cuối:
Với suy nghĩ:
Mong các bạn có các đoạn code nhỏ về macro 4,dù là VBA dư sức làm được, post lên mục nầy để làm thành 1 bộ thư viện macro 4

Ý của bác là code ứng dụng loại Macro4 hay code tạo ra các hàm và lệnh Macro4 ?
Những người phát triển Add-In XLL vẫn thường sử dụng các hàm trong Macro4 khi cần thiết, như tạo menu, các hàm worksheet,...Microsoft vẫn luôn tich hợp món này trong Excel với các phiên bản sau này. Còn việc vận dụng Sheet Macro4 để làm ứng dụng thì đúng là bây giờ ít người vận dụng, nếu thấy thì phần lớn lại toàn là kiểu virus.
 
Hàm DIALOG.BOX tương đương Form VBA,đương nhiên không bằng Form VBA, nhưng hổ trợ
Unicode tốt,có vẻ chạy nhanh hơn.Tôi nghĩ nếu biết có hàm nầy thì nhiều cao thủ đở mất thời gian viết các Tools hổ
trợ Unicode trong Form
Mạn phép tác giả để đưa lên cho các bạn xem, để mai một thì tiếc lắm.Bản thân tôi cũng chưa
hiểu được hết, mong các bạn giải thích bổ sung thêm vào file mẫu đính kèm
 

File đính kèm

  • DIALOG.BOX_M4Help.zip
    4.1 KB · Đọc: 175
  • DIALOGBOX_U80_D536_J551 Uni.zip
    4.3 KB · Đọc: 158
Đúng mình chưa tìm hiểu kỹ nhưng thấy cũng rất hay.

Mình thấy file này cũng co macro 4 gửi lên bạn xem thử
 

File đính kèm

  • Facture 2EME volet.rar
    100.9 KB · Đọc: 262
Chỉnh sửa lần cuối bởi điều hành viên:
Đúng mình chưa tìm hiểu kỹ nhưng thấy cũng rất hay.

Mình thấy file này cũng co macro 4 gửi lên bạn xem thử
Files nầy tiếng Pháp, theo links thì còn thiếu vài files nửa đó bạn ! Có 1 điểm rất hay là trong links files có dẫn đến files .xlm
 
Mở file read only,save as
 

File đính kèm

  • OpenKMDT_M4ToGPE.zip
    9.4 KB · Đọc: 138
Bác cho e hỏi cách xóa con virus này như thế nào vậy ?
Có code để xóa nó không ?
Lâu quá rồi mình chưa đụng lại con virus nầy, hình như trên diễn đàn có nói chi tiét và tuanvnuni có viết chương trình chống con nầy.Bạn chịu khó tìm thử
Hồi xưa thì hình như mình dùng Norton Antivirus,Symantec 9 có trừ được con nầy
còn trừ thủ công thì hơi mất công 1 chút: díable macro4, unhide, delete.Tìm trong dir xlstarup có file book1( không đuôi) hay file lạ nào đó, xóa đi
 
Đang dọn dẹp, tổng kết lại, chưa đi tiếp và thấy cái gì hay.Nhân tiện gửi các bạn
-Toàn bộ code macro4 của 1 chương trình dự toán mà ta đang " X quang" http://www.4shared.com/file/58570902/29c7d576/dutoanme_dme2OrigineNotMenu.html
-Tác giả đã kết hợp,từ năm 1999 ( or before), các dll, VBA-macro4 trong các đoạn code sau:
http://www.4shared.com/file/58571449/6a1d3dcc/VB_TrongDuToanME-dmeBamShif.html
Nếu ông nầy mà lang thang qua đây làm chủ xị thì tuyệt quá
 
Thời xa xưa đó, người ta đã "công phu" chặn hết các phím thường dùng của Excel, thay bằng các macro tự tạo của mình bằng các dòng lệnh sau
Mã:
=ON.KEY("^o";"OpenDT")
=OPTIONS.EDIT(;;;;;;;;;FALSE)
=ON.KEY("^{F4}";"Ctrl_F4")
=ON.KEY("%{F4}";"ThoatCtr")
=ON.KEY("{ENTER}";"Key_Enter")
=ON.SHEET(;"OnSheet")
=ON.KEY("^r";"DutoanQtoan")
=ON.KEY("^g";"SapVatu")
=ON.KEY("^d";"DienNuocOnOff")
=ON.KEY("^k";"VlkOnOff")
=ON.KEY("^q";"HbHCOffOn")
=ON.KEY("^h";"HeSoOnOff")
=ON.KEY("^6";"Ctrl_6")
=ON.KEY("{F8}";"XemKL1")
=ON.KEY("{F9}";"Ctrl_F9")
=ON.KEY("^{F9}";"Ctrl_F9MTC")
=ON.KEY("^{F11}";"Ctrl_F9NC")
=ON.KEY("{F10}";"Ctrl_F10")
=ON.KEY("^{F12}";"InTHNC")
=ON.KEY("^{F10}";"InTHMTC")
=ON.KEY("{F11}";"InTHKP")
=ON.KEY("^{F8}";"XemKL2")
=ON.KEY("^p";"Ctrl_P")
=ON.KEY("^n";"Ctrl_N")
=ON.KEY("{Del}";"Key_Delete")
SoDongCopy=0
=ON.KEY("^t";"Ctrl_T")
=ON.KEY("^a";"SoanChuTat")
=ON.KEY("{F4}";"Key_F4")
=ON.KEY("^{F3}";"Ctrl_F3")
=ON.KEY("^{F5}";"Ctrl_F5")
=ON.KEY("{F3}";"Key_F3")
=ON.KEY("^m";"Ctrl_M")
=ON.KEY("^{F1}";"Ctrl_F1")
=ON.KEY("^{F6}";"Ctrl_F6")
=ON.KEY("^{F2}";"Ctrl_F2")
=ON.KEY("^{F7}";"Ctrl_F7")
=ON.KEY("%{F8}";"Ctrl_F8")
LLL_TEN=""
LLL_MaHieu=""
GiaCopy=""
MhCopy=""
=ON.KEY("+{F12}";"Shift_F12")
=ON.KEY("{F12}";"Key_F12")
=ON.KEY("%{F12}";"Alt_F12")
=ON.KEY("^m";"Ctrl_M")
=ON.KEY("^z";"Ctrl_Z")
=ERROR(FALSE)
=DELETE.TOOLBAR("DTKG")
=ERROR(FALSE)
=IF(BanQuyen;ENABLE.COMMAND(10;"T&iÖn Ûch";"˜Ÿng kü quyÒn sõ dóng ch§¥ng trØnh ...";FALSE);ENABLE.COMMAND(10;"T&iÖn Ûch";"˜Ÿng kü quyÒn sõ dóng ch§¥ng trØnh ...";TRUE))
=ON.KEY("^1";"FontsChu")
=ON.KEY("^s";"SaveDT")
=ON.WINDOW(;"Key_ESC")
=ON.KEY("~";"Key_Enter")
=ON.KEY("{ESC}";"Key_ESC")
=ON.KEY("^{PgUP}";"Key_PageUP")
=ON.KEY("^{PgDN}";"Key_PageDN")
=ON.KEY("^l";"Ctrl_L")
=ON.KEY("^b";"InTrangBia")
=ON.KEY("{F6}";"CopyKL")
=ON.KEY("{F7}";"PasteKL")
=ON.KEY("{F5}";"Key_F5")
=ON.KEY("{F1}";"Key_F1")
=DELETE.TOOLBAR("DTKG")
=$K$557()
=IF(BanQuyen;RETURN();DangKySD())
=RETURN()
Coi bộ chặn hết các phím thường dùng của Excel rồi, hic hic
Dùng ON.KEY các bạn lưu ý dòng help sau trong HelpMacro4:
ON.KEY remains in effect until you clear it or quit Microsoft Excel. You can clear ON.KEY by specifying key_text and omitting the macro_text argument.
Trong VBA Help:expression.OnKey(Key, Procedure lại không có câu nầy ??-> "remains in effect until you clear it or quit Microsoft Excel"
 
Lần chỉnh sửa cuối:
Tác giả còn "cẩn thận" xóa hết toolbars,formula bar :
Mã:
=FOR("KKK";1;20)
=SHOW.TOOLBAR(KKK;FALSE)
=NEXT()
=RETURN()

À quên dòng của formula bar
Mã:
=OPTIONS.VIEW(FALSE)

Xóa xong toolbar của Excel, sau đó tác giả đưa toolbar tự tạo của mình vào: xem file att tại: http://www.4shared.com/file/58867503/4bf31e53/Toolbar_DTKG1.html

Về mặt ý tưởng thì để tạo menu, toolbars, dialog box ;macro4 đưa các tham số vào bảng, điều này nếu ta chưa có thời gian hiểu code, thì có thể chỉnh sửa thẳng vào các bảng và xử dụng cho mục đích riêng của mình, trước kia fox pro cũng có vài người làm như vậy, VBA , VB6 cũng tương tự (j-walk cho menu..); cũng có người dưa vào bảng Access...
 
Chỉnh sửa lần cuối bởi điều hành viên:
Return Excel Version
1 Return : strExcel : "11.0" : String
2 convert this string to an integer and store it in a variable say "ExcelVersionInteger" so that I can just do an "if ExcelVersionInteger > 11"

minh đang check với Excel 2003
tác giả khác đã text: "I have a string value "10.0" or "11.0" or "12.0",…"
http://www.4shared.com/file/59329586/2aaf4a50/ExcelVersionStringOrNumber_Get.html
 
Định thời gian lưu của file:
Mã:
=$A$207()
=SET.VALUE(O171;INT(HOUR(TgianLuu)))
=SET.VALUE(O172;INT(MINUTE(TgianLuu)))
=SET.VALUE(O173;INT(SECOND(TgianLuu)))
=IF(TdLuuTru;SET.VALUE($J$571;1);SET.VALUE($J$571;2))
=IF(NOT(DIALOG.BOX($D$562:$J$575));RETURN())
=IF(OR($J$565<0;$J$567<0;$J$569<0;$J$565+$J$569+$J$567=0);GOTO($M$165))
=IF(OR(O171>12;O172>60;O173>60);GOTO($M$165))
TgianLuu=$J$565/24+$J$567/24/60+$J$569/24/60/60
=IF($J$571=1)
TdLuuTru=TRUE
=ELSE()
TdLuuTru=FALSE
=END.IF()
ThoiDiemLuu=NOW()+TgianLuu
=GOTO($A$211)
=ECHO(FALSE)
=IF(OR(GET.WORKBOOK(38)<>"B¶ng khçi l§íng";NOT(TdLuuTru));RETURN())
=IF(NOW()<ThoiDiemLuu;RETURN())
=FOR("LuuLy";0;TapTinlamViec-1)
=ERROR(TRUE;$M$187)
=ACTIVATE(MID(OFFSET($A$1;LuuLy;0);6;256))
=IF(LEFT(GET.CELL(66);23)<>"TËp tin dø toÀn mìi sç ";SAVE())

=NEXT()
=ECHO(TRUE)
=ACTIVATE(TapTinHienHanh)
ThoiDiemLuu=NOW()+TgianLuu
=SaVeDT()
=RETURN()
Các thông tin ngày, giờ...
0 <---$J$565 :Cell in Origine code
10 <---$J$567 :Cell in Origine code
0 <---$J$569 :Cell in Origine code
Chắc là cũng giống như add-in Auto Save, không biết Microsoft và tác giả độc lập nghĩ ra hay...
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom