2016-11-08 2 views
0

Ich habe ein Notepad ++ Makro geschrieben, das eine SQL-Abfrage in eine Vb-Zeichenfolge konvertiert, um sie in meinen VB-Code einzufügen.Notepad ++ Makro verarbeitet keine Abwärts-Schaltfläche

Das Prinzip ist, dass Sie nur Ctrl + Shift + E drücken könnte und das Makro sollte die SQL-Linie von so etwas wie SELECT a FROM b TO "SELECT a FROM b" & vbCrLf & _ und dann wird der Cursor sollte auf die nächste Zeile konvertieren.

Dies ist, was mein Makro aussieht:

<Macro name="VB Script" Ctrl="yes" Alt="no" Shift="yes" Key="69"> 
    <Action type="0" message="2453" wParam="0" lParam="0" sParam="" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam='&quot;' /> 
    <Action type="0" message="2451" wParam="0" lParam="0" sParam="" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam='&quot;' /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="&amp;" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="v" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="b" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="c" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="r" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="l" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="f" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="&amp;" /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> 
    <Action type="1" message="2170" wParam="0" lParam="0" sParam="_" /> 
    <Action type="0" message="2300" wParam="0" lParam="0" sParam="" /> 
</Macro> 

Ich habe mit ein paar verschiedene Möglichkeiten geprüft und festgestellt, dass diese Zeile den Cursor eine Zeile nach unten bewegen wird:

<Action type="0" message="2300" wParam="0" lParam="0" sParam="" />

Die

Problem ist, dass nur in der ersten Zeile das gesamte Makro ausgeführt und eine Zeile nach unten bewegt wird. Aber jede Zeile danach bewegt sich nicht um eine Zeile nach unten.

+0

Ich habe gerade versucht, Ihr Makro, und es funktionierte perfekt, wenn ich dies als Text zu verarbeiten: 'SELECT a FROM b '(In vier Zeilen). Die Tastenkombination Strg + Umschalt + E funktionierte, und auch der Modus "Bis zum Ende der Datei laufen" funktionierte. Ich verwende NotePad ++ 6.8.1. Erhalten Sie das gleiche Ergebnis für * diesen * Text? – Sam

+0

In 'SELECT a FROM b' über 4 Zeilen (mit Ausführen bis zum Ende der Datei), stoppt es in der zweiten Zeile. Mit der Tastenkombination wird in der zweiten Zeile gestoppt. Ich verwende Version 6.9.2 Ich frage mich, ob es ist, weil es versucht, das Wort 'vbCrLf' in Zeile 2 automatisch zu vervollständigen. Weil es mit dieser Liste auftaucht. –

+1

@Sam Ich habe es gefunden. Es war so, wie ich dachte, die Auto Completion. Ich habe es deaktiviert, indem ich den Anweisungen hier folge: "http: // stackoverflow.com/questions/21263705/how-do-i-stop-notepad-from-show-autocomplete-für-alle-wörter-in-der-datei" und Jetzt funktioniert das Makro perfekt. –

Antwort

0

Durch Deaktivieren von Auto Complete konnte das Problem behoben werden.

So deaktivieren Sie die Auto-Vervollständigen Sie den Anweisungen hier folgen:

https://stackoverflow.com/questions/21263705/how-do-i-stop-no‌​tepad-from-showing-a‌​utocomplete-for-all-‌​words-in-the-file

Es scheint, als ob Notepad ++ stoppt die Ausführung eines Makros, wenn die Auto-Vervollständigen-Menü erscheint.

IE: Das Makro führt den gesamten Code aus, wie es alle Buchstaben richtig hinzufügen würde. Wenn dann der Schlüssel Down Arrow aktiviert werden muss, wird der Code immer noch ausgeführt, jedoch in der Dropdown-Liste, die im Gegensatz zur Zeile erscheint, in der sich der Cursor befindet.

Verwandte Themen