The Edit Macro command allows a new macro to be created and edited or an existing macro that has previously been generated with this command or with the Macro Record command to be edited.
In many cases, it is easier for the user to generate the macro by recording it with the Macro Record command and then to edit it if necessary. The learning curve is less with this approach.
Commands
A macro is a series of commands that may later be played back automatically to modify the file. The left hand side of the dialog shows the current macro being edited and an editable window containing the commands that make up the macro.
The commands in the macro must be one of the predefined commands. These predefined commands are shown on the right hand side of the dialog. If the mouse is double clicked on the command it is automatically added to the macro, or clicking on the arrow to the left of the commands will add it to the macro.
Parameters
Many of the commands have numeric parameters. The numeric parameters are quite obvious, such as "GotoLine # #" or "GotoPage #". However, some of the commands such as Find and Replace, Sort etc. have additional parameters that are not numeric. These additional parameters are listed below the command list for easy selection.
Creating a New Macro
To create a new macro from this dialog click the New Macro button. This displays the Macro Definition dialog allowing you to define the macro name and hot key if required.
When this new macro is created, four macro commands are automatically added to the macro:
- Insert Mode or OverStrike Mode
- ColumnModeOn or ColumnModeOff
- HexOn or HexOff
- UnixReOff or UnixReOn or PerlReOn
These four commands are added based on the current state of the editor. The purpose is to establish a known state each time the macro is played. If a macro is recorded in one mode and played back in another the results may be unpredictable. Establishing the mode at the beginning of the macro helps to ensure the expected results are achieved. These commands may be modified as required.
Once a macro has been created, it may be edited. Please note, that "^c" and "^s" may be used with many macro commands and will be replaced with the contents of the clipboard (^c) and the text currently selected (^s) when used. This allows users to record a macro that may reference a specific string and replace this with one of these two items to allow the string to be dynamically "specified" as the macro is run.
Modifying The Macro
To modify the macro, commands may be typed directly into the macro edit box or selected from the command list. Commands are not case sensitive but must be spelled exactly as shown in the command list.
The table below shows the commands that may be added to any parameters:
Commands |
Parameters* |
Description |
"" |
Insert text between the quotes (""). The closing quote must be the last non-space character on the line. The characters to be inserted may cross multiple lines. To insert a quote ("), place it as needed in the text being inserted and ensure the last character is also a quote. To insert just one quote character (") the line should look like this:
|
|
AnsiToOem |
Convert file from ANSI to OEM |
|
ASCIIToUnicode |
Convert file from ASCII to Unicode |
|
Bottom |
Jump to end of file |
|
ClearClipboard |
Clear the contents of the active clipboard within UltraEdit |
|
Clipboard |
Clipboard number (0-9) |
Select the specified clipboard 0 = Windows clipboard and 1-9 specifies user clipboards |
CloseFile |
Blank (no parameter)
|
Close the active file |
ColumnCenterJustify |
Center justify selected columns |
|
ColumnCut |
Numeric value of columns to cut |
Cut in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to cut the selected columns. |
ColumnDelete |
Numeric value of columns to delete |
Delete in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to delete the selected columns. |
ColumnInsert |
String in quotes ("") |
Insert string between quotes into selected columns |
ColumnInsertNum |
start number
|
Insert number in selected columns. For example to insert a number starting with number 20 with an increment of -1 (= decrement by 1) with leading zeros in hexadecimal notation at the current column on every selected line or from current line to last line following command must be used: ColumnInsertNum 20 -1 LeadingZero Hex |
ColumnLeftJustify |
Left justify selected columns |
|
ColumnModeOff |
Turn the column mode off |
|
ColumnModeOn |
Turn the column mode on |
|
ColumnRightJustify |
Right justify selected columns |
|
Copy |
Copy selected text to the clipboard |
|
CopyAppend |
Copy selected text and append it to the clipboard |
|
CopyFilePath |
Copy the active file path/name to the clipboard |
|
Cut |
Cut the selected text from the file to the clipboard |
|
CutAppend |
Cut the selected text from the file and append it to the clipboard |
|
DecodeBase64 |
Converts the selected text from Base64 |
|
DecryptFilePrompt |
Presents the Decrypt File dialog prompting user for the full path of the file to decrypt and the passphrase to be used as the decryption key |
|
DelAllBookmarkLines |
Delete currently bookmarked lines in active document |
|
Delete |
Delete current character or selected text |
|
DeleteLine |
Delete the current line |
|
DeleteToEndofLine |
Delete from the current cursor position to the end of the line |
|
DeleteToStartofLine |
Delete from the current cursor position to the start of the line |
|
DosToMac |
Convert the file (line terminators) to MAC format |
|
DosToUnix |
Convert the file (line terminators) to UNIX format |
|
DupeLine |
Inserts duplicate of active line below cursor |
|
Else |
Else function for an If ... command
|
|
EncodeBase64 |
Converts the selected text to Base64 |
|
EncryptFilePrompt |
Presents the Encrypt File dialog prompting user for the full path of the file to encrypt and the passphrase to be used for encryption |
|
EndIf |
Ends the block of instructions controlled by the If... statements |
|
EndLoop |
End of loop - go back to beginning of the loop - see the Loop command |
|
EndSelect |
Stop selecting text (see StartSelect for details) |
|
ExitLoop |
Exit loop and go to first command after the loop (after the EndLoop command) - see the Loop command |
|
ExitMacro |
Exit macro without processing any additional commands or returning an error |
|
Find |
"" (Search string in quotes) |
Find the string in quotes "" based on the parameters specified. Some examples: Find a single alphabetic character in any case: Find RegExp "[A-Z]" Find a single alphabetic character in upper case only: Find MatchCase RegExp "[A-Z]" Find a single character which is NOT 'a' or 'A' or CRLF (UltraEdit syntax): Find RegExp "[~a^p]" Find a single character which is NOT 'a' or LF (Unix/Perl syntax): Find MatchCase RegExp "[^a\n]" |
FindInFiles |
"" (Initial Directory string in quotes)
|
Searches through specified files to find the string in quotes "" based on the parameters specified. The format must be as follows: FindInFiles BoldParameters "Initial Directory" "Files/Types" "Search String" For example: FindInFiles OutputWin "c:\temp\test\" "*.html" "home" The Recursive parameter is ignored when the search is in all open files, project files or solution files. The initial directory and the file/type arguments should be empty strings "" when using FavFiles, OpenFiles, ProjFiles or SolFiles. |
FromEBCDIC |
Convert text from EBCDIC format |
|
GetString |
String in quotes ("") used in the prompt dialog |
Prompts the user for a string that is inserted in the file at the current location. The "prompt" is the prompt or question that is displayed to the user when the macro is run GetString "What country do you live in?" |
GetValue |
String in quotes ("") used in prompt dialog |
Prompts the user for a value that is inserted in the file at the current location. The "prompt" is the prompt or question that is displayed to the user when the macro is run.
|
GotoBookMark |
Index of bookmark to jump to or -1 to go to next bookmark |
Jump to the next/specified bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then it is automatically directed to the first bookmark (index 0). |
GotoBookMarkSelect |
Index of bookmark to jump to or -1 to go to next bookmark |
Jump to the next/specified bookmark and select text from cursor position to bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then it is automatically directed to the first bookmark (index 0). |
GotoLine |
Numeric value of line and column number to jump to |
Jump to the specified line and column number. Use line number 0 to jump to the specified column in the current line. |
GotoLineSelect |
Numeric value of line and column number to jump to |
Jump to specified line number and column number and select text from cursor position to line/column. Use line number 0 to jump to the specified column in the current line while selecting text. |
GotoPage |
Numeric value of page to jump |
Jump to specified page number |
GotoPageSelect |
Numeric value of page to jump |
Jump to specified page number and select text from cursor position to page number |
HexDelete |
Numeric value specifying number of bytes to delete |
Delete the specified number of bytes from the file |
HexInsert |
Numeric value specifying number of bytes to insert |
Insert the specified number of bytes (spaces) into the file |
HexOff |
Turn Hex mode off - switch to text mode |
|
HexOn |
Turn Hex mode on |
|
HideShowCollapseAll |
Collapse all foldable lines in active document |
|
HideShowExpandAll |
Expand all folded/collapsed lines in active document |
|
HideShowSelection |
Hide the selected lines, or if hidden, show the lines hidden at the line of the cursor |
|
IfCharGt |
"character" or number |
This checks if the current character at the cursor position is greater than the specified character or number specified. The check against a number is not to check the value of a string but the value of the underlying character.
|
IfCharIs |
"string" or number |
This checks if the current character at the cursor position is in the specified string, or matches the decimal number.
|
IfColNum |
number |
This checks if the current cursor position is the specific column number.
|
IfColNumGt |
number |
This checks if the current cursor position is greater than the specific column number.
|
IfEof |
This checks if the current cursor position is at the end of file.
|
|
IfExtIs |
"string" |
This checks if the file extension of the active file matches the specified string. If the extension matches, the condition is satisfied and the macro will execute the steps following the IfextIs statement.
|
IfFound |
This checks the results from the last find command in the macro and will execute the next set of instructions up to an "EndIf" if the last search was successful:
|
|
IfFTP |
This checks if the current file is a file loaded via FTP/SFTP and not a local/network file.
|
|
IfNameIs |
"string" |
This checks if the active filename (not path or extension) matches the specified string. If the name matches, the condition is satisfied and the macro will execute the steps following the IfNameIs statement.
|
IfNotFound |
This checks the results from the last find command in the macro and will execute the next set of instructions up to an "EndIf" if the last search was NOT successful:
NOTE - To avoid a "Not Found" message when running the macro, make sure the "Continue if a Find with Replace Not Found" check box is set for the macro properties. |
|
IfSel |
This checks if there is currently any selected text within the active file.
|
|
InsertLine |
Inserts blank line below current cursor position |
|
InsertMode |
Change text editing mode to insert mode for characters typed |
|
InsertPageBreak |
Insert a form feed/page break character at the current cursor position in the file |
|
InvertCase |
Invert the case of selected text |
|
Key |
BACKSPACE
|
Insert a key command into the macro. Generally used for navigation in the file and for backspace or delete. The "Ctrl+" modifier may be used as with normal editing to modify the command.
|
Loop |
# |
Loop # times where # is a number. A value of 0 indicates Loop forever. For example:
If the Loop command exists, the application checks for ExitLoop or ExitMacro until an EndLoop command is reached. If neither of these exist, the macro loop will be limited to one iteration only. |
MatchBrace |
Find matching brace and select the text between them |
|
MoveLineDown |
Moves active line down one line from current position |
|
MoveLineUp |
Moves active line up one line from current position |
|
NewFile |
Open a new blank file |
|
NextDocument |
Switch to next file tab document |
|
NextWindow |
Switch to next window |
|
OemToAnsi |
Convert file from OEM to ANSI |
|
Open |
Filename in quotes ("") |
Open the specified file. The filename must be in quotes. "^s" may be used in the filename. UltraEdit will replace this with the currently selected text in the active window. Likewise, "^c" may be used and UltraEdit will replace this with the contents of the clipboard. |
OverStrikeMode |
Change text editing mode to overstrike mode for characters typed |
|
Paste |
Paste the contents of the clipboard into the file |
|
PerlReOn |
Switch regular expressions to Perl compatible style regular expressions |
|
PlayMacro |
Numeric value specifying number of times to play it Macro name ("") in quotes |
Play another macro. Specify the number of times to play the macro first, then the macro name. The macro name must be in quotes and is case sensitive and the macro must already exist. |
PreviousBookmark |
Jump to the previous bookmark |
|
PreviousBookmarkSelect |
Jump to the previous bookmark and select text from cursor position to bookmark |
|
PreviousDocument |
Switch to previous file tab document |
|
PreviousWindow |
Switch to previous window |
|
ReIndentSelection |
Re-indents currently selected text in active file |
|
Replace |
All Replace all occurrences.
|
The Replace command replaces the previously found string with the string specified. This command MUST follow a Find command.
|
ReplInFiles |
"" (Initial Directory string in quotes)
|
Searches through specified files to find the string in quotes "" based on the parameters specified and replace this as specified. The format must be as follows: ReplInFiles BoldParameters "Initial Directory" "Files/Types" "Search String" "Replace String" For example: ReplInFiles "c:\temp\test\" "*.html" "line x
The Recursive parameter is ignored when the search is in all open files, project files or solution files. The initial directory and the file/type arguments should be empty strings "" when using FavFiles, OpenFiles, ProjFiles or SolFiles. |
ReturnToWrap |
Convert hard returns to word wrap |
|
RunTool |
String in quotes ("") specifying the case sensitive menu name of tool to run |
Run a tool. The tool must be configured from Tool Configuration in the Advanced menu. |
Save |
Save active file |
|
SaveAll |
Save all open files |
|
SaveAs |
Filename in quotes ("") |
Save the active file as the filename specified. The filename must be in quotes. "^s" may be used in the filename. UltraEdit will replace this with the currently selected text in the active window. Likewise, "^c" may be used and UltraEdit will replace this with the contents of the clipboard. |
SelectAll |
Select all text in the file |
|
SelectLine |
Select all text on active line |
|
SelectToBottom |
Select all text from the current position to the end of file |
|
SelectToTop |
Select all text from the current position to the top of file |
|
SelectWord |
Select the current word (same as double clicking a word) |
|
SortAsc |
IgnoreCase Ignore case of characters in the sort.
|
Sort the file, or selected text in ascending order.
|
SortDes |
IgnoreCase Ignore case of characters in the sort.
|
Sort the file, or selected text in descending order.
|
SpacesToTabs |
Convert (leading) spaces within the file to tabs |
|
SpacesToTabsAll |
Convert (all) spaces within the file to tabs |
|
StartSelect |
Start selection. This turns the selection mode on. Any cursor movement or positioning will be with selection on and the text is selected. EndSelect will stop the selection mode. The selected text will remain selected until another command causes it not to be selected as with normal editing. |
|
TabsToSpaces |
Convert all tabs within the file to spaces |
|
Template |
Template number (#) |
Insert the specified template into the file |
TimeDate |
Insert the time and date into the file at the current location |
|
ToCaps |
Capitalize each word in the selected text |
|
ToEBCDIC |
Convert text to EBCDIC format |
|
ToggleBookmark |
Set or remove a bookmark at the current line |
|
ToLower |
Convert the selected text to lower case |
|
Top |
Jump to top of file |
|
ToUpper |
Convert the selected text to upper case |
|
TrimTrailingSpaces |
Trim trailing spaces from each line of current file |
|
UltraEditReOn |
Switch regular expressions to UltraEdit style regular expressions (not Unix) |
|
UnicodeToASCII |
Convert file from Unicode to ASCII |
|
UnixMactoDos |
Convert the active file (line terminators) from Mac/Unix to DOS format |
|
UnixReOn |
Switch regular expressions to Unix style regular expressions |
|
WrapToReturn |
Column number (#) at which wrap is performed. Zero for the column number indicates the wrap is to occur at the window boundary. |
Convert the file from word wrap to hard returns |
XMLConvertToCRLF |
Converts single-line XML text to indented XML format |
|
* Where (#) exists in the parameter column a numeric value is to be entered for that parameter. Likewise, where ("") exists in the parameter column a string is to be entered between quotes. The text only describes the meaning of the parameter.
|