Open Primary .rc File As Text

The following macro opens the primary .rc file as text.
Sub OpenRCFile()
'DESCRIPTION: Opens the primary .rc file as text
'NOTE: If the resource file is already open within the
'      resource editor, you may be asked if you wish to
'      close it.

	' Simply strip the project filename of its extension...
	' ...and replace it with "rc"
	If Projects.Count = 0 Then
		MsgBox "Load a project first."
		Exit Sub
	End If
	PathName = ActiveProject.fullname
	PathName = Left(PathName, Len(PathName)-3)
	PathName = PathName + "rc"
	Documents.Open PathName, "Text"
End Sub


  • Enhanced toggle macro: *.h/*.cpp file & open mode (*.rc/ or as txt)

    Posted by Legacy on 05/17/2001 12:00am

    Originally posted by: Feng Zhou

    This is enhanced version based all the published macros.

    Sub ToggleFile()
    ' -- #1. Opens the .cpp or .h file for the current document.
    ' Toggles between the .cpp & .h file
    ' -- #2 Toggles rc file: open as a text file or resource file

    Dim doctype, baseFile, attribute
    baseFile = ActiveDocument.FullName
    doctype = ActiveDocument.Type

    DocName = UCase(baseFile)

    '#1. 'rc' files
    If Right(DocName,3) = ".RC" Then
    Dim closeStatus
    closeStatus = ActiveDocument.Close (dsSaveChangesNo)

    If doctype = "Generic" Then
    Documents.Open baseFile, "Text", FALSE
    Documents.Open baseFile, "Auto", FALSE
    End If

    Exit Sub
    End If

    '#2. Generic CPP/H file
    If Right(DocName,4) = ".CPP" Then
    fn = left(DocName, Len(DocName)-3) & "h"
    ElseIf Right(DocName,2) = ".H" Then
    fn = Left(DocName, Len(DocName)-1) & "cpp"
    ElseIf Right(DocName,4) = ".HPP" Then
    fn = Left(DocName, Len(DocName)-3) & "cpp"
    ElseIf Right(DocName,4) = ".INL" Then
    fn = Left(DocName, Len(DocName)-3) & "h"
    ElseIf Right(DocName,4) = ".TLI" Then
    fn = Left(DocName, Len(DocName)-3) & "tlh"
    ElseIf Right(DocName,4) = ".TLH" Then
    fn = Left(DocName, Len(DocName)-3) & "tli"
    fn = DocName + ".CPP"
    End If

    fn = HandleMFC(fn) 'To handle some MFC files that are just not matched this way

    on error resume next
    Documents.Open (fn)

    End Sub

    Function HandleMFC(fn)
    'MFC Specific Handling
    baseFile = UCase(ActiveDocument.Name)
    'strMFCInclude = "C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include\"

    If baseFile = "DLGDATA.CPP" Then
    HandleMFC = strMFCInclude + "AFXWIN.H"
    ElseIf DocName = "" Then
    HandleMFC = fn
    HandleMFC = fn
    End If

    End Function

  • A much simpler approach - just a single line

    Posted by Legacy on 09/23/1999 12:00am

    Originally posted by: Stefan Tzanev

    Sub OpenRCFileAsText()
    'DESCRIPTION: Opens project's RC resource file in text mode for manual editing.

    Documents.Open (ActiveProject.Name + ".rc"), "Text"
    End Sub

  • What if the .RC file doesn't exist?

    Posted by Legacy on 01/29/1999 12:00am

    Originally posted by: Bob Paksi

    Great time saver of macro. However, I have a project that creates a library and doesn't have an associated .RC file. If this project is active and I use this macro (which I mapped to a button on the tool bar)DevStudio crashes. It seems that Documents.Open <PathName> crashes if the <PathName> doesn't exist. I did a search of DevStudio's object modal but didn't find any Exists() method. Any ideas?

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

Top White Papers and Webcasts

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

  • On-demand Event Event Date: September 23, 2015 The cloud is not just about a runtime platform for your projects – now, you can do your development in the cloud, too. Check out this webcast to learn how the cloud improves your development experience and team collaboration. Join Dana Singleterry, Principal Product Manager for Oracle Dev Tools, as he discusses how to simplify every aspect of the development lifecycle, including requirements gathering, version management, code reviews, build automation, and …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date