While this certainly isn’t the most difficult of sequences it simply cries out to be automated.
Therefore, in this article, I present you with a very simple macro that automates the
entire process of opening a resource file in “text mode”. Enjoy!
Code
'------------------------------------------------------ 'FILE DESCRIPTION: Open Current Resource Script As Text '------------------------------------------------------ sub OpenRCAsText() 'DESCRIPTION: Open Current Resource Script As Text 'AUTHOR: Roman A. Surma <xaos@mail.ru> if Windows.Count > 0 then rc_name = ActiveDocument.FullName if InStrRev( rc_name, ".rc" ) > 0 then 'if we have .rc file - let's open it as text rc_wnd_name = ActiveWindow.Caption Documents.Open rc_name, "Text" 'performing primitive search for resource in .rc file 'TODO: enhance algorithm to search resource in proper 'language section rc_part = ".rc - " res_name_start = InStr( rc_wnd_name, rc_part ) + Len( rc_part ) res_name_end = InStr( res_name_start, rc_wnd_name, " " ) if res_name_end > res_name_start then res_name = Mid( rc_wnd_name, res_name_start, res_name_end - res_name_start ) 'searching for regexp like "^ *IDD_DIALOG1" ActiveDocument.Selection.FindText "^ *" & res_name, dsMatchFromStart + dsMatchRegExp 'ActiveDocument.Selection.Cancel ActiveDocument.Selection.StartOfLine end if end if elseif Documents.Count >= 1 then rc_name = ActiveProject.FullName dot_pos = InStrRev( rc_name, "." ) rc_name = Left( rc_name, dot_pos ) & "rc" on error resume next Documents.Open rc_name, "Text" if Err.Number < 0 then MsgBox( "Can not open resource file " & rc_name & " _ "for this project: " & ActiveProject.Name ) end if on error goto 0 end if end sub