Trao đổi với tôi

http://www.buidao.com

5/30/22

[Excel],[Word] Cách sửa lỗi gõ tiếng Việt trên Word, Excel

 

Hướng dẫn sửa lỗi không gõ được tiếng Việt trên Word

1. Lỗi do công cụ gõ tiếng Việt

Khi xảy ra lỗi gõ tiếng Việt trên Word hay bất kỳ phần mềm nào trên máy tính, chúng ta sẽ nghĩ ngay đến lỗi từ công cụ gõ tiếng Việt trên máy tính. Ở đây tôi sẽ áp dụng với công cụ Unikey.

Trước hết bạn hãy kiểm tra xem công cụ có ở chế độ gõ tiếng Việt với biểu tượng chữ V hay không. Nếu đang ở chữ E hãy chuyển sang chế độ chữ V.

Chế độ gõ trên Unikey


Sau đó hãy kiểm tra tới Bảng mã và kiểu gõ trên Unikey. Chọn đúng kiểu gõ Telex hoặc VNI, chọn đúng bảng mã và font tương ứng. Chẳng hạn bảng mã Unicode tổng hợp thì dùng các font Arial, Time News Roman...


Chỉnh bảng mã và kiểu gõ Unikey

Nếu chưa gõ được tiếng Việt trên Word thì hay thoát hoàn toàn phiên làm việc Unikey rồi click chuột phải vào biểu tượng công cụ ngoài màn hình chọn Run as Administartor, để chạy dưới quyền Admin.

Nếu bạn đang sử dụng phiên bản Unikey cũ cũng có thể gây ra lỗi gõ tiếng Việt trên Word. Hãy tải bản Unikey mới để sử dụng.

2. Lỗi Auto correct của Windows

Nếu bạn bật tính năng Auto correct có sẵn trên Windows sẽ tự động sửa sai khi nhập nội dung, gây ra lỗi khi gõ tiếng Việt. Bạn hãy nhập vào thanh tìm kiếm trên máy tính từ khóa Typing settings. Sau đó chuyển về chế độ Off tại Autocorrect misspelled words và Hightlight misspelled words.


Ngoài ra còn một số nguyên nhân dẫn tới lỗi gõ tiếng Việt như máy tính bị virus, bạn chưa tải bộ font cho máy tính, lỗi xung đột giữa những bộ gõ tiếng Việt khi bạn mở 2 bộ gõ cùng lúc. Nếu vậy chỉ cần tải bộ font tiếng Việt cho máy tính và chỉ sử dụng 1 công cụ gõ tiếng Việt là được.

Lỗi gõ tiếng Việt chỉ là 1 trong những lỗi cơ bản trên Word. Chúng ta cũng có thể gặp phải một số lỗi như bị mất chữlỗi Word chữ nhảy cách, hay lỗi dính chữ trên Word,... Khi gặp phải những lỗi liên quan tới nhập nội dung, trước tiên bạn hãy kiểm tra lại công cụ gõ tiếng Việt trên máy tính.

Link: https://quantrimang.com/cach-sua-loi-go-tieng-viet-tren-word-excel-147236


5/28/22

[Excel] The Show/Hide sheet tabs in Excel

 First ensure that the Show sheet tabs is enabled. To do this,

  • For all other Excel versions, click File > Options > Advanced—in under Display options for this workbook—and then ensure that there is a check in the Show sheet tabs box.

    Show sheet tabs in Excel options

[Programming], [VBA] Resolved - Method 'VBE' of object '_Application' failed

Trong quá trình Add Reference VBIDE ("Microsoft Visual Basic for Applications Extensibility 5.3" ) bằng code trong Workbook_Open của VBA thì bị báo lỗi : Method 'VBE' of object '_Application' failed. 

Lý do: Do Excel chưa đượic quyền "Trust access to the VBA project object model". 

Cách giải quyết như sau: Vào menu Excel:

Excel  ->  Menu  ->  File
->  Options
    ->  Trust Center
        ->  Macro Settings
            ->  Developer Macro Settings
                ->  [x] Trust access to the VBA project object model

5/27/22

[Programming], [VB6] RESOLVED "Error accessing the system registry"

 

Thông báo lỗi "Error accessing the system registry" xảy ra khi Biên dịch project ra file exe hay dll, hoặc xảy ra thình lình trong VB6. Cách giải quyết như sau:

Cách 1:

Select the Microsoft Visual Basic 6.0 shortcut from the Start menu and right-click on it. Select Properties, and the property sheet for the shortcut will be displayed. Next, click on the Compatibility tab. It is recommended that you make the following changes:

1. Enable compatibility mode and select Windows XP (Service Pack 2) .....
2. Check the "Disable visual themes" option .....
3. Check the "Disable desktop composition" option.....
4. Check the "Run this program as an administrator" option

Click on OK to save the changes. When you run Visual Basic, a User Account Control (UAC) dialog will be displayed, asking you to confirm that you wish to execute the program. This is because it's now running with elevated privileges. You may also get a message that the color scheme has been changed to Windows Vista Basic. The Aero interface will be temporarily disabled until you close the IDE, which will resolve the performance issues with the form designer.

Cách 2:
When to Start, Microsoft Visual Studio then right clicked on the VB6 shortcut and selected run as administrator. Now it works.

Cách 3:
Another update:

iTunes (and other apps yet to come) may also cause this problem in Win7.

This is because it runs a service which creates registry keys under the SYSTEM account.

When VB tries to enumerate the keys under HKCR\TypeLib it fails and gives the error because the user running VB6.EXE (even if it set to run as administrator) does not automatically have READ rights to the key. At that point you get the "Error accessing the system registry" dialog.

To workaround/fix this:

1. Download Procmon and PsExec from sysinternals.

2. Run Procmon and add a "ProcessName" filter with VB6.EXE as the process name.

3. Then Select Project->References. And the error dialog should pop up.

4. Switch to procmon and scroll to the end of the events list - you're looking for the last "ACCESS_DENIED" message for opening a registry key under HKCR\TypeLib.

5. Thats the first key you need to change permissions on - so you'll need to run regedit in the same account context that the keys were created in - the SYSTEM account. to do this install psexec on the windows PATH somewhere then run:

psexec -i -d -s c:\windows\regedit.exe

(obviously change the path if yours is different)

this will run regedit through the SYSTEM account.

*You can verify that even the administrator account does NOT have permission to edit these keys by running regedit through a Start->Run dialog as this elevates the priv' level to administrator.*

6. Find the key you identified in step 4 - right click it and select Permissions.

7. Find the current logged on user that you use to run VB6 with and add them with full control to the permissions list.

8. Repeat steps 3-7 because there may be more keys that exhibit this behaviour, until the Project->References dialog appears in VB6 without error.

You could also open the .vbp in notepad to see the references if you're stuck and dont have time to do the above.....


Link: https://www.vbforums.com/showthread.php?545433-RESOLVED-Sudden-quot-Error-accessing-the-system-registry-quot 

5/26/22

[Cracking] Crack the password on an Excel VBA Project

 You can try this direct VBA approach which doesn't require HEX editing. It will work for any files (*.xls, *.xlsm, *.xlam ...).

Tested and works on:

Excel 2007
Excel 2010
Excel 2013 - 32 bit version
Excel 2016 - 32 bit version

Looking for 64 bit version? See this answer

How it works

I will try my best to explain how it works - please excuse my English.

  1. The VBE will call a system function to create the password dialog box.
  2. If user enters the right password and click OK, this function returns 1. If user enters the wrong password or click Cancel, this function returns 0.
  3. After the dialog box is closed, the VBE checks the returned value of the system function
  4. if this value is 1, the VBE will "think" that the password is right, hence the locked VBA project will be opened.
  5. The code below swaps the memory of the original function used to display the password dialog with a user defined function that will always return 1 when being called.

Using the code

Please backup your files first!

  1. Open the file(s) that contain your locked VBA Projects
  2. Create a new xlsm file and store this code in Module1

    code credited to Siwtom (nick name), a Vietnamese developer

    Option Explicit
    
    Private Const PAGE_EXECUTE_READWRITE = &H40
    
    Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
            (Destination As Long, Source As Long, ByVal Length As Long)
    
    Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _
            ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long
    
    Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long
    
    Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _
            ByVal lpProcName As String) As Long
    
    Private Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As Long, _
            ByVal pTemplateName As Long, ByVal hWndParent As Long, _
            ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer
    
    Dim HookBytes(0 To 5) As Byte
    Dim OriginBytes(0 To 5) As Byte
    Dim pFunc As Long
    Dim Flag As Boolean
    
    Private Function GetPtr(ByVal Value As Long) As Long
        GetPtr = Value
    End Function
    
    Public Sub RecoverBytes()
        If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6
    End Sub
    
    Public Function Hook() As Boolean
        Dim TmpBytes(0 To 5) As Byte
        Dim p As Long
        Dim OriginProtect As Long
    
        Hook = False
    
        pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")
    
    
        If VirtualProtect(ByVal pFunc, 6, PAGE_EXECUTE_READWRITE, OriginProtect) <> 0 Then
    
            MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6
            If TmpBytes(0) <> &H68 Then
    
                MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6
    
                p = GetPtr(AddressOf MyDialogBoxParam)
    
                HookBytes(0) = &H68
                MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4
                HookBytes(5) = &HC3
    
                MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6
                Flag = True
                Hook = True
            End If
        End If
    End Function
    
    Private Function MyDialogBoxParam(ByVal hInstance As Long, _
            ByVal pTemplateName As Long, ByVal hWndParent As Long, _
            ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer
        If pTemplateName = 4070 Then
            MyDialogBoxParam = 1
        Else
            RecoverBytes
            MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _
                               hWndParent, lpDialogFunc, dwInitParam)
            Hook
        End If
    End Function
  3. Paste this code under the above code in Module1 and run it

    Sub unprotected()
        If Hook Then
            MsgBox "VBA Project is unprotected!", vbInformation, "*****"
        End If
    End Sub
    
  4. Come back to your VBA Projects and enjoy.



Link: https://stackoverflow.com/questions/1026483/is-there-a-way-to-crack-the-password-on-an-excel-vba-project