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

  • The impact of a data loss event can be significant. Real-time data is essential to remaining competitive. Many companies can no longer afford to rely on a truck arriving each day to take backup tapes offsite. For most companies, a cloud backup and recovery solution will eliminate, or significantly reduce, IT resources related to the mundane task of backup and allow your resources to be redeployed to more strategic projects. The cloud - can now be comfortable for you – with 100% recovery from anywhere all …

  • On-demand Event Event Date: April 22, 2014 Database professionals -- whether developers or DBAs -- can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this eSeminar with Dell Software's …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds