Sửa code cho code chạy office 64 bit (2 người xem)

  • Thread starter Thread starter GTK-PM
  • Ngày gửi Ngày gửi
Liên hệ QC

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

GTK-PM

Thành viên thường trực
Tham gia
10/11/13
Bài viết
313
Được thích
15
Nhờ anh chị giúp đỡ sửa đoạn code này, để chạy trên office 64bit
Mã:
Private Declare Function GetActiveWindow Lib "user64" () As LongPrivate Declare Function MessageBoxW Lib "user64" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long


Function MsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant = vbNullString) As VbMsgBoxResult
    Dim BStrMsg, BStrTitle
    'Hàm StrConv Chuyen chuoi ve ma Unicode
    BStrMsg = StrConv(PromptUni, vbUnicode)
    BStrTitle = StrConv(TitleUni, vbUnicode)
    MsgBoxUni = MessageBoxW(GetActiveWindow, BStrMsg, BStrTitle, Buttons)
End Function
Function TCVN3toUNICODE(vnstr As String)
Dim c As String, i As Integer
   For i = 1 To Len(vnstr)
      c = Mid(vnstr, i, 1)
      Select Case c
         Case "a": c = ChrW$(97)
         Case "¸": c = ChrW$(225)
         Case "µ": c = ChrW$(224)
         Case "¶": c = ChrW$(7843)
         Case "·": c = ChrW$(227)
         Case "¹": c = ChrW$(7841)
         Case "¨": c = ChrW$(259)
         Case "¾": c = ChrW$(7855)
         Case "»": c = ChrW$(7857)
         Case "¼": c = ChrW$(7859)
         Case "½": c = ChrW$(7861)
         Case "Æ": c = ChrW$(7863)
         Case "©": c = ChrW$(226)
         Case "Ê": c = ChrW$(7845)
         Case "Ç": c = ChrW$(7847)
         Case "È": c = ChrW$(7849)
         Case "É": c = ChrW$(7851)
         Case "Ë": c = ChrW$(7853)
         Case "e": c = ChrW$(101)
         Case "Ð": c = ChrW$(233)
         Case "Ì": c = ChrW$(232)
         Case "Î": c = ChrW$(7867)
         Case "Ï": c = ChrW$(7869)
         Case "Ñ": c = ChrW$(7865)
         Case "ª": c = ChrW$(234)
         Case "Õ": c = ChrW$(7871)
         Case "Ò": c = ChrW$(7873)
         Case "Ó": c = ChrW$(7875)
         Case "Ô": c = ChrW$(7877)
         Case "Ö": c = ChrW$(7879)
         Case "o": c = ChrW$(111)
         Case "ã": c = ChrW$(243)
         Case "ß": c = ChrW$(242)
         Case "á": c = ChrW$(7887)
         Case "â": c = ChrW$(245)
         Case "ä": c = ChrW$(7885)
         Case "«": c = ChrW$(244)
         Case "è": c = ChrW$(7889)
         Case "å": c = ChrW$(7891)
         Case "æ": c = ChrW$(7893)
         Case "ç": c = ChrW$(7895)
         Case "é": c = ChrW$(7897)
         Case "¬": c = ChrW$(417)
         Case "í": c = ChrW$(7899)
         Case "ê": c = ChrW$(7901)
         Case "ë": c = ChrW$(7903)
         Case "ì": c = ChrW$(7905)
         Case "î": c = ChrW$(7907)
         Case "i": c = ChrW$(105)
         Case "Ý": c = ChrW$(237)
         Case "×": c = ChrW$(236)
         Case "Ø": c = ChrW$(7881)
         Case "Ü": c = ChrW$(297)
         Case "Þ": c = ChrW$(7883)
         Case "u": c = ChrW$(117)
         Case "ó": c = ChrW$(250)
         Case "ï": c = ChrW$(249)
         Case "ñ": c = ChrW$(7911)
         Case "ò": c = ChrW$(361)
         Case "ô": c = ChrW$(7909)
         Case "­": c = ChrW$(432)
         Case "ø": c = ChrW$(7913)
         Case "õ": c = ChrW$(7915)
         Case "ö": c = ChrW$(7917)
         Case "÷": c = ChrW$(7919)
         Case "ù": c = ChrW$(7921)
         Case "y": c = ChrW$(121)
         Case "ý": c = ChrW$(253)
         Case "ú": c = ChrW$(7923)
         Case "û": c = ChrW$(7927)
         Case "ü": c = ChrW$(7929)
         Case "þ": c = ChrW$(7925)
         Case "®": c = ChrW$(273)
         Case "A": c = ChrW$(65)
         Case "¡": c = ChrW$(258)
         Case "¢": c = ChrW$(194)
         Case "E": c = ChrW$(69)
         Case "£": c = ChrW$(202)
         Case "O": c = ChrW$(79)
         Case "¤": c = ChrW$(212)
         Case "¥": c = ChrW$(416)
         Case "I": c = ChrW$(73)
         Case "U": c = ChrW$(85)
         Case "¦": c = ChrW$(431)
         Case "Y": c = ChrW$(89)
         Case "§": c = ChrW$(272)
      End Select
      TCVN3toUNICODE = TCVN3toUNICODE + c
   Next i
End Function
Function UNC(strTCVN3 As String)
    UNC = TCVN3toUNICODE(strTCVN3)
End Function
 
Nhờ anh chị giúp đỡ sửa đoạn code này, để chạy trên office 64bit
Mã:
Private Declare Function GetActiveWindow Lib "user64" () As LongPrivate Declare Function MessageBoxW Lib "user64" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long


Function MsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant = vbNullString) As VbMsgBoxResult
    Dim BStrMsg, BStrTitle
    'Hàm StrConv Chuyen chuoi ve ma Unicode
    BStrMsg = StrConv(PromptUni, vbUnicode)
    BStrTitle = StrConv(TitleUni, vbUnicode)
    MsgBoxUni = MessageBoxW(GetActiveWindow, BStrMsg, BStrTitle, Buttons)
End Function
Function TCVN3toUNICODE(vnstr As String)
Dim c As String, i As Integer
   For i = 1 To Len(vnstr)
      c = Mid(vnstr, i, 1)
      Select Case c
         Case "a": c = ChrW$(97)
         Case "¸": c = ChrW$(225)
         Case "µ": c = ChrW$(224)
         Case "¶": c = ChrW$(7843)
         Case "·": c = ChrW$(227)
         Case "¹": c = ChrW$(7841)
         Case "¨": c = ChrW$(259)
         Case "¾": c = ChrW$(7855)
         Case "»": c = ChrW$(7857)
         Case "¼": c = ChrW$(7859)
         Case "½": c = ChrW$(7861)
         Case "Æ": c = ChrW$(7863)
         Case "©": c = ChrW$(226)
         Case "Ê": c = ChrW$(7845)
         Case "Ç": c = ChrW$(7847)
         Case "È": c = ChrW$(7849)
         Case "É": c = ChrW$(7851)
         Case "Ë": c = ChrW$(7853)
         Case "e": c = ChrW$(101)
         Case "Ð": c = ChrW$(233)
         Case "Ì": c = ChrW$(232)
         Case "Î": c = ChrW$(7867)
         Case "Ï": c = ChrW$(7869)
         Case "Ñ": c = ChrW$(7865)
         Case "ª": c = ChrW$(234)
         Case "Õ": c = ChrW$(7871)
         Case "Ò": c = ChrW$(7873)
         Case "Ó": c = ChrW$(7875)
         Case "Ô": c = ChrW$(7877)
         Case "Ö": c = ChrW$(7879)
         Case "o": c = ChrW$(111)
         Case "ã": c = ChrW$(243)
         Case "ß": c = ChrW$(242)
         Case "á": c = ChrW$(7887)
         Case "â": c = ChrW$(245)
         Case "ä": c = ChrW$(7885)
         Case "«": c = ChrW$(244)
         Case "è": c = ChrW$(7889)
         Case "å": c = ChrW$(7891)
         Case "æ": c = ChrW$(7893)
         Case "ç": c = ChrW$(7895)
         Case "é": c = ChrW$(7897)
         Case "¬": c = ChrW$(417)
         Case "í": c = ChrW$(7899)
         Case "ê": c = ChrW$(7901)
         Case "ë": c = ChrW$(7903)
         Case "ì": c = ChrW$(7905)
         Case "î": c = ChrW$(7907)
         Case "i": c = ChrW$(105)
         Case "Ý": c = ChrW$(237)
         Case "×": c = ChrW$(236)
         Case "Ø": c = ChrW$(7881)
         Case "Ü": c = ChrW$(297)
         Case "Þ": c = ChrW$(7883)
         Case "u": c = ChrW$(117)
         Case "ó": c = ChrW$(250)
         Case "ï": c = ChrW$(249)
         Case "ñ": c = ChrW$(7911)
         Case "ò": c = ChrW$(361)
         Case "ô": c = ChrW$(7909)
         Case "­": c = ChrW$(432)
         Case "ø": c = ChrW$(7913)
         Case "õ": c = ChrW$(7915)
         Case "ö": c = ChrW$(7917)
         Case "÷": c = ChrW$(7919)
         Case "ù": c = ChrW$(7921)
         Case "y": c = ChrW$(121)
         Case "ý": c = ChrW$(253)
         Case "ú": c = ChrW$(7923)
         Case "û": c = ChrW$(7927)
         Case "ü": c = ChrW$(7929)
         Case "þ": c = ChrW$(7925)
         Case "®": c = ChrW$(273)
         Case "A": c = ChrW$(65)
         Case "¡": c = ChrW$(258)
         Case "¢": c = ChrW$(194)
         Case "E": c = ChrW$(69)
         Case "£": c = ChrW$(202)
         Case "O": c = ChrW$(79)
         Case "¤": c = ChrW$(212)
         Case "¥": c = ChrW$(416)
         Case "I": c = ChrW$(73)
         Case "U": c = ChrW$(85)
         Case "¦": c = ChrW$(431)
         Case "Y": c = ChrW$(89)
         Case "§": c = ChrW$(272)
      End Select
      TCVN3toUNICODE = TCVN3toUNICODE + c
   Next i
End Function
Function UNC(strTCVN3 As String)
    UNC = TCVN3toUNICODE(strTCVN3)
End Function

Cái Msgbox đó giao diện xấu muốn tè luôn đó ...mà lại còn rắc rối API nữa chứ ...Trên GPE ối cách hay hơn ...
Nếu vẫn thích giao diện đó vài dòng code là xong ...Cái mớ API đó cho vào Recycle Bin ...--=0
 
Upvote 0
Nhờ bạn chỉ giáo cụ thể, thank
 
Upvote 0
Tặng cho Bạn một Mớ nè ....Mình xài có 2 cái đó Tùy biến kính thưa các kiểu kính nha ...xúc tích ngắn gọn Win64 hay Win100064 nó cũng chạy à ...@#!^%
chép Nguyên mớ ...Test Nha ....có điều giao diện em nó không bóng mượt thôi nha
Mã:
Rem =========== CreateObject("WScript.Shell").Popup ...UniMsgbox Tieng Viet Co dau ===============
Rem Cu Phap object.Popup (Message [, TimeOut][, Title] [, Format])
Rem Cu Phap Doi Tuong.Popup.(Thông diep[,Het Gio][,Tieu De][,Format Hay Icon Bieu Tuong])
Rem [, Format] = 1,2,3,4,5,48,65,67,68 ...
Rem TimeOut = Hen Gio Tu dong = 5 Tuc 5 Giay sau Thi Thoat
Rem ===========
Public Function UniMsgbox(Optional Message$, Optional TimeOut = "", Optional Format = "", Optional Msg)
    Dim Title As String                 '' Tieu De: Written by Kieu Manh - Tel: 0922.366.377
    If Format = "" Then Format = 64     '' Mac dinh la 64 ...Tuy Chon Tham So 1,2,3,4,5,48,64,65,67,68...
    If TimeOut = "" Then TimeOut = 5    '' Thoi gian Thoat Mac dinh la 5 Giay
    Title = "Written By Ki" & ChrW(7873) & "u" & " M" & ChrW(7841) & "nh"
    Msg = CreateObject("Wscript.shell").PopUp(Message, TimeOut, Title, Format)
End Function
Rem ===========
Public Function UniInputBox(Optional MyPrompt As String = "", Optional MyTitle As String = "")
    If MyTitle = "" Then MyTitle = ("Th" & ChrW(244) & "ng B" & ChrW(225) & "o") ''Thông Báo
    If MyPrompt = "" Then MyPrompt = "Vui L" & ChrW(242) & "ng Nh" & ChrW(7853) & "p PassWord"
    UniInputBox = Application.InputBox(MyPrompt, MyTitle)
End Function
Rem ===========
Public Sub Main_UniInputBox()
    Dim Titile As String, Prompt As String, Password As String
    Titile = "Chào ngày m" & ChrW(7899) & "i"
    Prompt = "Nh" & ChrW(7853) & "p ký t" & ChrW(7921) & " b" & ChrW(7845) & "t k" & ChrW(7923) & ":"
    Password = UniInputBox(Prompt, Titile)
    UniMsgbox "B" & ChrW(7841) & "n " & ChrW(273) & "ã nh" & ChrW(7853) & "p: " & Password ', vbInformation, "Thông Báo"
End Sub
Rem ===========
Public Sub Main2_UniInputBox()
    Dim Password As String
    Password = UniInputBox("", "")
    UniMsgbox "B" & ChrW(7841) & "n " & ChrW(273) & "ã nh" & ChrW(7853) & "p: " & Password ', vbInformation, "Thông Báo"
End Sub
Rem ===========
Public Sub Main_UniMsgbox()
    Dim m As String
    m = "GI" & ChrW(193) & "M " & ChrW(272) & ChrW(7882) & "NH"
    UniMsgbox (m)
End Sub
Rem ===========
Public Sub Nut_OK_Cancel()
    Dim Chk As Boolean, TB As String
    TB = "B" & ChrW(7841) & "n" & " Mu" & ChrW(7889) & "n " _
        & "L" & ChrW(432) & "u D" & ChrW(7919) & " Li" _
        & ChrW(7879) & "u" & "Th" & ChrW(236) & " ..." _
        & vbLf & " Ch" & ChrW(7885) & "n OK" & " ... H" _
        & ChrW(7911) & "y" & " Ch" & ChrW(7885) & "n Cancel"
        Call UniMsgbox(TB, 5, 65, Chk)
        If Chk = vbOK Then Call UniMsgbox("OK........")
End Sub
Rem ===========
Public Sub Nut_OK()
    Dim Chk As Boolean, TB As String
    TB = "B" & ChrW(7841) & "n" & " Mu" & ChrW(7889) & "n " _
        & "L" & ChrW(432) & "u D" & ChrW(7919) & " Li" _
        & ChrW(7879) & "u" & "Th" & ChrW(236) & " ..." _
        & vbLf & " Ch" & ChrW(7885) & "n OK" & " ... H" _
        & ChrW(7911) & "y" & " Ch" & ChrW(7885) & "n Cancel"
        Call UniMsgbox(TB, 5, 64, Chk)
        If Chk = vbOK Then Call UniMsgbox("OK........")
End Sub
Rem ===========
Public Sub Nut_Yes_No_Cancel()
    Dim Chk As Boolean, TB As String
    TB = "B" & ChrW(7841) & "n" & " Mu" & ChrW(7889) & "n " _
        & "L" & ChrW(432) & "u D" & ChrW(7919) & " Li" _
        & ChrW(7879) & "u" & "Th" & ChrW(236) & " ..." _
        & vbLf & " Ch" & ChrW(7885) & "n OK" & " ... H" _
        & ChrW(7911) & "y" & " Ch" & ChrW(7885) & "n Cancel"
        Call UniMsgbox(TB, 5, 67, Chk)
        If Chk = vbYes Then
            Call UniMsgbox("Nut ... Yes........")
        ElseIf Chk = vbNo Then
            Call UniMsgbox("Nut ... No........")
        Else
            Call UniMsgbox("Nut ... Cancel........")
        End If
End Sub
 
Upvote 0
Nhờ bạn xóa giúp mình đoạn code trên, hay sửa đoạn code để office win 64 bit chạy được không. Mình gà code lắm.
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Nhờ anh chị giúp đỡ sửa đoạn code này, để chạy trên office 64bit
Mã:
Private Declare Function GetActiveWindow Lib "user64" () As Long
Private Declare Function MessageBoxW Lib "user64" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As [/QUOTE]

Xem chỗ này:
http://www.giaiphapexcel.com/forum/showthread.php?123381-add-kh%C3%B4ng-ch%E1%BA%A1y-tr%C3%AAn-office-64bit&p=772340#post772340
 
Upvote 0
Cảm ơn anh, em đã giải quyết được vấn đề.
 
Upvote 0
Cái Msgbox đó giao diện xấu muốn tè luôn đó ...mà lại còn rắc rối API nữa chứ ...Trên GPE ối cách hay hơn ...
Nếu vẫn thích giao diện đó vài dòng code là xong ...Cái mớ API đó cho vào Recycle Bin ...--=0

Nếu trung thành với MsgBox truyền thống thì chơi cũng được mà :)
 
Upvote 0
Em thâm niên 4 năm ở diễn đàn mà vẫn còn chưa học được cái gì. Buồn cho cả thế hệ quá
 
Upvote 0
Web KT

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

Back
Top Bottom