Displaying a List of All VBA Procedures in Excel 2007 fromthe Ribb

How can I make this available to any workbook. For instance, I have a system 
running and it has around 280 modules. you might see the code at: 
http://msdn.microsoft.com/en-us/library/dd890502(office.11).aspx
or bellow:

Option Explicit

Private Sub btnClose_Click()
Unload Me
End Sub

Private Sub btnList_Click()
    ' Declare variables to access the Excel 2007 workbook.
    Dim objXLApp As Excel.Application
    Dim objXLWorkbooks As Excel.Workbooks
    Dim objXLABC As Excel.Workbook
    
    ' Declare variables to access the macros in the workbook.
    Dim VBAEditor As VBIDE.VBE
    Dim objProject As VBIDE.VBProject
    Dim objComponent As VBIDE.VBComponent
    Dim objCode As VBIDE.CodeModule
    
    ' Declare other miscellaneous variables.
    Dim iLine As Integer
    Dim sProcName As String
    Dim pk As vbext_ProcKind
    Dim VBName As String
    Set VBAEditor = Application.VBE
    
    ' Open Excel and the open the workbook.
    Set objXLApp = New Excel.Application
    
    ' Empty the list box.
    ListBox1.Clear
    
    ' Get the project details in the workbook.
    Set objProject = VBAEditor.ActiveVBProject

    ' Iterate through each component in the project.
    For Each objComponent In objProject.VBComponents

        ' Find the code module for the project.
        Set objCode = objComponent.CodeModule

        ' Scan through the code module, looking for procedures.
        iLine = 1
        Do While iLine < objCode.CountOfLines
            sProcName = objCode.ProcOfLine(iLine, pk)
            If sProcName <> "" Then
                ' Found a procedure. Display its details, and then skip
                ' to the end of the procedure.
                ListBox1.AddItem objComponent.Name & ": " & sProcName
                iLine = iLine + objCode.ProcCountLines(sProcName, pk)
            Else
                ' This line has no procedure, so go to the next line.
                iLine = iLine + 1
            End If
        Loop
        Set objCode = Nothing
        Set objComponent = Nothing
    Next
    
    ' Clean up and exit.
    Set objProject = Nothing
    objXLApp.Quit
End Sub

Private Sub btnSave_Click()
On Error Resume Next

Dim objFSO, fldr As Variant
Dim txtfile As Variant
Dim i As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fldr = objFSO.CreateFolder("F:\Documents and Settings\mark.ivanowski\My 
Documents\My Books")
Set txtfile = objFSO.CreateTextFile("F:\Documents and 
Settings\mark.ivanowski\My Documents\My Books\testfile.txt", True)

For i = 0 To ListBox1.ListCount - 1
    txtfile.Write (ListBox1.List(i)) & vbCrLf
Next

txtfile.Close
End Sub

Private Sub ListBox1_Click()

End Sub

0
Utf
12/14/2009 1:16:01 PM
scripting.vbscript 564 articles. 0 followers. Follow

1 Replies
914 Views

Similar Articles

[PageSpeed] 20

Mark Ivanowski wrote:
> How can I make this available to any workbook???
> 

Available to any _NEW_ workbook on your system?
   .. any EXISTING workbook on your system?
   .. any NEW or EXISTING workbook on your network?

If you just want to include the code in new workbooks,
then you could just include it in your template.

Including that code in existing workbooks would be
more problematical.

If you are wanting to broadly distribute the code,
you might try wrapping it into some com object (like
a "windows script component") that you could instantiate
from anywhere.

cheers, jw
____________________________________________________________

You got questions?  WE GOT ANSWERS!!!  ..(but, no guarantee
    the answers will be applicable to the questions)


0
mr_unreliable
12/14/2009 5:04:44 PM
Reply:

Similar Artilces:

How to export Notes to Excel
Hi all, I would like to export notes contacts with their associated notes. How do i do this in crm 4.0 as i dont see the notes column to add on my view? Thanks -- phumulaniluyandacollinlembede Navigate to Advanced Find and select 'Notes', then export as necessary/appropriate.... -- Fortis www.webfortis.com "Phumulani" wrote: > Hi all, > > I would like to export notes contacts with their associated notes. How do i > do this in crm 4.0 as i dont see the notes column to add on my view? > > Thanks > -- > phumulaniluyandacollinlembede ...

Excel not Access
I have designed an Access database that holds records relating to my stores audit results going back for about 5 years plus a load more information relating to these stores. This was used to produe a pack once a month, however a change in senior management means that I have got to shelve this and prodce a similar pack in Excel. The idea would be that the user could select a month or a 12 mnth date range that would produce data that could then be used to populate a number of excel templates that have been designed. Having not used excel for years I would be grateful for any suggestion...

How to keep format when importing Excel into SQL.
Can anybody help me please? When I import Excel file into SQL, a field that formated as 0000000000 (custom), loosing leading zeros. I tried to change data type in SQL after importing. No luck. I appretiate any help. See if using IMEX=1 helps: http://pratchev.blogspot.com/2007/10/importing-excel-data-into-sql-server.html -- Plamen Ratchev http://www.SQLStudio.com Plamen, I tried this, but got an error: "The OLE DB provider "Microsoft.Jet.OLEDB.4.0" has not been registered." Thank you very much for looking into this. "Plamen Ratchev" wr...

Rollup 2 and Office 2007
I already have Roll Up 1 and the Office 2007 compatibility patch installed. If I now install roll up 2 will I have to reinstall the office 2007 compatibility? yes -- Regards, MS CRM Certified Professional http://microsoftcrm3.blogspot.com Chat with me on MSN / Gmail / Skype : ID Is :.. mscrmexpert@gmail.com "LLoyd" wrote: > I already have Roll Up 1 and the Office 2007 compatibility patch installed. > If I now install roll up 2 will I have to reinstall the office 2007 > compatibility? ...

Auto-format in Microsoft Excel.
Each time i try to enter a number range, for example, 8- 10, in Excel, it constantly re-formats it to a date. If I change the formatting to "General" it turns it into a random number, usually 38209. I would like to turn off ALL auto-formatting, but that's probably asking too much. How do I disable this frustrating feature? thanks. Hi Paul When you enter "8-10" in a cell, that's not strictly a number but Excel thinks you mean a date so converts it as such. A date is a number and in your example the number 38209 represents August 10 2004 which is not a ra...

Input Excel 'Password to Open' through control in access form
Hi All, We know,Excel has prompt password to open it files. Is it possible to create a code that can supplies the excel prompt password?.So that when we open the excel file through our access control in a form, the excel files can be opened automatically.But when the excel files opened from its default icon,it will prompt a password first. ...

Excel 2007
When I select cells to copy as a picture in Excel 2007, the resolution is terrible. Text and objects with shadow's are very blotchy when pasting the picture. How do you change the resolution of a 'Copy Picture'? ...

Create a distribution list from addresses in the 'To' list
Hi all, I belong to a social group, and our co-ordinator sends out an email from time to time with all the latest addresses in the To list. I already have a distribution list for the group, which then needs to be checked through and updated. Is there a simple way of transferring those addresses into my own distribution list? I'm using Outlook 2002. Everybody's fiddling around with bits of paper - I'll be a hero if I can make it easy for them! Thanks. Astley http://www.outlook-tips.net/archives/2004/20041105.htm -- Russ Valentine [MVP-Outlook] "Astley" <ast@...

Grammar check not working
Hello, I am using Word 2007 and have a problem with grammar and punctuation errors. I deliberately put two spaces between words, do not put space after a comma, write long sentences and finish a sentence without a verb but the green underline never appears. The spell check is functioning properly, no problem with that. In Word Options > Proofing, "Mark grammar errors as you type" is selected. I changed that selection and tried again but it still did not work. I used different languages as default language but no change. I would be grateful if someone could come...

Displaying property menu at runtime
Hello, Is there a way to display at runtime the property menu of a control so that the user may interact with the control? In my case, I'm speaking about the MsChart control which has a property menu at the design phase (when picking "properties" after right clicking on the control) Thanks Avi "avi" <aviben@bezeqint.net.il> wrote in message news:e2fc8178-471a-48b1-9671-fc81ca23c912@l14g2000yql.googlegroups.com... > Is there a way to display at runtime the property menu of a control so > that the user may interact with the control? > ...

How do I use traffic lights in excel
I am wanting to use traffic lights in excel that change colour based on the result of a variance cell, ie if the result of the cell is 10 make the traffic light green, if it is 20 make the traffic light amber, if the result is 30 make the traffic light red. How do I do this? Shorty Format>Conditional Formatting>Cell Value is: Note: you can add up to 3 conditions(4 if you count default) Gord Dibben Excel MVP On Wed, 22 Dec 2004 16:35:03 -0800, Shorty <Shorty@discussions.microsoft.com> wrote: >I am wanting to use traffic lights in excel that change colour based on the &g...

How To Copy MS Word mailing labels into Excel
I have a word doc that I want to put into Excel. I want to add some more fields to the names and addresses. Is this simple or do I have to learn how to program? Michael Rodriguez City of Grand Prairie Michael, have you tried to copy and paste the data into excel? -- Paul B Always backup your data before trying something new Please post any response to the newsgroups so others can benefit from it Feedback on answers is always appreciated! Using Excel 2000 & 97 ** remove news from my email address to reply by email ** "Michael Rodriguez" <mrodrigu@gptx.org> wrote in messa...

Radar chart in Access 2007 report
Can you add a Radar chart to an access 2207 report? ...

Opening Excel Workbooks
I'm running into an issue where if I click on an Excel file through My Documents, it doesn't automatically bring it up. I get the toolbar but the actual spreadsheet doesn't appear on the screen. I have to click on the taskbar to get it to pop up. If I already have Excel active and I open a file through Excel, this doesn't happen. Any ideas? Here is a similar thread: http://www.excelforum.com/showthread.php?s=&threadid=237195 Rolli -- Message posted from http://www.ExcelForum.com Hi, Take a look at Tools-Options-General tab- uncheck ignore other application...

How to change font size on formula bar in Excell 2007
I don't find Tools>Options>General (as suggested in other post answers) in Excel 2007. On the Office button there is an Excel Options but it doesn't provide a method of changing font size on the office but. My font is so small I can barely see it. Office button>ExcelOptions>Popular tab>in the "When creating new workbooks" section, choose font and font size -- Kind regards, Niek Otten Microsoft MVP - Excel "jimwillie" <jimwillie@discussions.microsoft.com> wrote in message news:588AAC05-0F52-404E-AA01-128E70E02D0B@microso...

help with simple maths in excel
I want to do a simple arithmatic excercise in excel for my grand daughter. It is stuff like 2+2 =4 Smart me has hit a problem at the first hurdle... I need to put 2 in one cell the + in another cell and then 2 in another = in another and then she puts the answer in the next one. So the above would have 4 cells completed and she would put the answer in the 5th one. When I use the + or = sign in a cell of its own it (excel) thinks I am doing an equation, is there a way around this? I will work on the answer like if she gets it correct or wrong how I will do that...a sound or som...

Unexpected error message on closing an Excel file
Suddenly I am getting the following message when I try to close a workbook: "Your formula contains an invalid external reference to a worksheet. Verify that the path, workbook, and range name or cell reference are correct, and try again" The mysterious thing is that it does not happen consistently and that, after I click OK after the above message, I can still save the file. What might be the cause of this error message and can the "invalid reference" be tracked down using one of the utility add-ins such as J. Walkenbach's PUP? If it only happens when you close ...

displaying colors in an mfc application
Hi everyone, I'm working on an MFC application. The application is a treeview in which are represented some objects (persons, roles....). I have declared some bitmaps in the visual project to represent these objects. My problem is that some colors of the bitmaps are not displayed. I guess there is a palette problem or something like that. Does anybody have an idea of what the problem is? Thanks a lot for your help.... Fred Try using ILC_COLOR24 | ILC_MASK when you create your imagelist. -- Ajay Kalra [MVP - VC++] ajaykalra@yahoo.com "fred" <fred@laposte.net> wrot...

Excel Problem
I have a 23.8 meg excel 2000 spreadsheet set for manual calculation saved to my local hard drive. Every time I try to open it, it takes forver and sometimes never opens but I do not get any error messages, let me just tell you that I am running a P4, 1 GB memory, Office 2K with SP3, and nothing else running when I try to open it. As I said it is set for manual calculation, and it is cleared to not auto calculate when opening or closing. Any idea's as to why this is happening? -- Todd I don't know why you're having this problem but I would like to point something out for w...

[b]Can I download Excel data to a MS Access database?[/b]
I've built an Excel 2002 form that I want our internal customers to access from our intranet, and use. Once completed, they will send it to us as an e-mail attachment. I'd like to be able to open it, and somehow download the data from the form into an MS Access 2002 database I've built (so that we don't have to rekey it into the database). Is this possible or even feasible? Any and all help is appreciated. Thanks. :D --------- Message sent via www.excelforums.com Hi in Access check 'File - Import External data' -- Regards Frank Kabel Frankfurt, Germany "...

Excel DNS query
Hello, Is there a way for an Excel function to query a DNS server? Thanks. Soundy Not that I know of, but you can turn on the macro recorder, use 'get external data' and tailor the resulting code into a user function of your own. E.g. I've used this to create a button to get MS-Access data from a query that has the same name as the sheet (tab) name. It saves me a lot of copy-paste actions. Bas Hartkamp <soundy@gmail.com> schreef in bericht news:1151940450.029823.127570@j8g2000cwa.googlegroups.com... > Hello, > > Is there a way for an Excel function ...

Exchange 2007 across account search
Does Exchange 2007 has an option to search all users mail for keywords? That all SBS workgroup users can search for messages to/from all other users. Is there any advanced indexing system to speed up search results? Thanks! On Tue, 26 Jan 2010 14:22:12 +0200, "Ronald" <2omikk@gmail.com> wrote: >Does Exchange 2007 has an option to search all users mail for keywords? >That all SBS workgroup users can search for messages to/from all other >users. >Is there any advanced indexing system to speed up search results? > >Thanks! > Bunch of ...

Distrebution List to send as internal user
I trying to sent up a solution that when someone emails sales@mydomain.com it should... Distribute it to the sales team. Look like it's comming from Sales@... NOT user@outsidedomain.com Any ideas? Thanks Peretz Stern wrote: > I trying to sent up a solution that when someone emails > sales@mydomain.com it should... > > Distribute it to the sales team. > Look like it's comming from Sales@... NOT user@outsidedomain.com > > Any ideas? Thanks If someone outside your office sends mail to a DL, it will be from the original sender. I can't think of any way around...

How can I set an alarm Excel?
I would like to set an audible alarm in Excel based on a cell value. Try this in the worksheet VBA editor. If the value of A5 is greater than 50 you get a beep. Private Sub Worksheet_Change(ByVal Target As Range) Dim frequency As Long Dim duration As Long If Target <> Range("A5") Then Exit Sub If Target.Value > 50 Then frequency = 4160 duration = 1500 Call Beep(frequency, duration) End If End Sub HTH Regards, Howard "Annell" <Annell@discussions.microsoft.com> wrote in message news:EFE8AA18-3F14-4A92-941D-053922417AB2@mic...

Please Help w/ Large Excel File
Hello everyone. I have this Excel file that has drawing text box objects in the document. When I delete a text box the attributes still are present, but just not showing. It is continually growing my file size. When I export the document to HTML after deleting all the text box drawing objects and saving the file, the text box objects still show as vtextbox elements in this file. I tried to reproduce this with a new Excel workbook but could not. I would be greatful if anyone can figure this out, as I have a lot of documents to re-create if there is no solution. Thank you. exce...