Macro That Opens Resource File as Text

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

Downloads

Download source (same code as above) - 1 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • On-demand Event Event Date: October 29, 2014 It's well understood how critical version control is for code. However, its importance to DevOps isn't always recognized. The 2014 DevOps Survey of Practice shows that one of the key predictors of DevOps success is putting all production environment artifacts into version control. In this webcast, Gene Kim discusses these survey findings and shares woeful tales of artifact management gone wrong! Gene also shares examples of how high-performing DevOps …

  • On-demand Event Event Date: December 18, 2014 The Internet of Things (IoT) incorporates physical devices into business processes using predictive analytics. While it relies heavily on existing Internet technologies, it differs by including physical devices, specialized protocols, physical analytics, and a unique partner network. To capture the real business value of IoT, the industry must move beyond customized projects to general patterns and platforms. Check out this webcast and join industry experts as …

Most Popular Programming Stories

More for Developers

RSS Feeds