Вместо того, чтобы разбивать один вызов на несколько вызовов, вы должны заставить свою функцию ожидать аргумент ParamArray
, как предложено Алексом .Ваша функция должна выглядеть примерно так:
' Remember to set the return type or change the function to a Sub.
Public Function MyPrint(fileNo As Byte, ParamArray text() As Variant) 'As SomeType
' Insert body here.
End Function
Теперь поговорим о регулярных выражениях.Чтобы использовать только NotePad ++, я думаю, что вам нужно будет сделать это в два шага.
Чтобы заменить имя метода (Print
на MyPrint
), используйте следующеешаблон:
Print\h+(#\w+)
и заменить на:
MyPrint \1
Демо .
Чтобы заменить точки с запятой запятыми, вы можете использовать следующий шаблон:
(?:MyPrint #\w+\K,\h*|(?!^)\G\h*)([^;\r\n]+);?
и заменить на:
, \1
Демо .
Пример ввода:
Print #FileNo, Tab(1); "My Text Here";
Print #FileNo, Tab(col); Txt;
Print #FileNo, Tab(100); Format(TheDate, "DDMMMYYYY") & " " & Variable_Name & "Field : " & Format(Field, "x")
Print #FileNo, Tab(1); Format(TheDate, "x") & " - " & TheName;
Print #FileNo, String(132, "-")
Print #FileNo, Tab(6); "SOME VALUE"; "SOME MORE VALUES";
Print #FileNo, Tab(100); "First Text"; "Second Text"
Print #FileNo, "Third Text"; "Fourth Text"
Окончательный вывод:
MyPrint #FileNo, Tab(1), "My Text Here"
MyPrint #FileNo, Tab(col), Txt
MyPrint #FileNo, Tab(100), Format(TheDate, "DDMMMYYYY") & " " & Variable_Name & "Field : " & Format(Field, "x")
MyPrint #FileNo, Tab(1), Format(TheDate, "x") & " - " & TheName
MyPrint #FileNo, String(132, "-")
MyPrint #FileNo, Tab(6), "SOME VALUE", "SOME MORE VALUES"
MyPrint #FileNo, Tab(100), "First Text", "Second Text"
MyPrint #FileNo, "Third Text", "Fourth Text"