2013-12-23 2 views
9

Для отладки в VBA у меня есть несколько операторов Debug.Print по всему моему коду. Для блока разбора строк я хотел бы напечатать строку и вывести любые флаги inline с линией, не имея нескольких операторов Debug.Print sFlag & sLine во многих блоках if/elseif/else.VBA: Debug.Print без новой строки?

Есть ли способ, в пределах VBA, подавить новую строку в конце инструкции Debug.Print?

ответ

11

Оказывается, вы можете легко сделать это, просто добавив точку с запятой в конец вашего оператора Debug.Print. Как так:

While oExec.StdOut.AtEndOfStream = False 
    sLine = oExec.StdOut.ReadLine 
    If bInFileSystem Then 
     If AnalyzeFileSystemLine(sLine) = False Then 
     Debug.Print "[FSERR]: "; 
     End If 
    ElseIf bInWASCheck Then 
     If AnalyzeWASLine(sLine) = False Then 
     Debug.Print "[WASERR]: "; 
     End If 
    End If 

    Debug.Print sLine 
Wend 

Так, некоторые пример вывода будет:

test text things look good! 
[FSERR]: uh oh this file system is at 90% capacity! 
some more good looking text :) 
[WASERR]: oh no an app server is down! 
+0

Совершенно верно. Вы также можете поместить 'Debug.Print' на самом дне, под' Wend'. Затем закройте линию над «Wend» с помощью двоеточия. Тот же результат. – Smandoli

Смежные вопросы