Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

Split string by line breaks and paste to different fields

Description
This macro will split the copied text by line breaks, and paste each line, sending a tab in between each paste.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
-
Date Created
Sep 10, 2021
Date Last Modified
Sep 10, 2021

Macro Code

using System;
using System.Collections.Generic;

// The 'text' parameter will contain the text from the:
//   - Current Clipboard when run by HotKey
//   - History Item when run from the History Menu
// The returned string will be:
//   - Placed directly on the Clipboard when run as a Macro
//   - Ignored by ClipboardFusion if it is 'null'
//   - Passed along to the next action in a Trigger (null changed to an empty string)
public static class ClipboardFusionHelper
{
	public static string ProcessText(string text)
	{
                // Split the text by line breaks into an array
		string[] lines = text.Split(new[] { "\r\n", "\r", "\n" },StringSplitOptions.None);

                // Loop through the array and paste each line, sending a tab key in between each one
		foreach (string line in lines)
		{
			BFS.Clipboard.PasteText(line);
			BFS.General.ThreadWait(250);
			BFS.Input.SendKeys("{VK_9}"); // tab key
			BFS.General.ThreadWait(250);
		}
		return text;
	}
}