Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am using macros in one file to audit another file. The second file should
not have any macros. Is there a way I can detect this? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Some information on dealing w/the VBProject on Chip's site:
http://www.cpearson.com/excel/vbe.htm#ListAllInProject I've never had the need to deal w/the VBProject programmatically, but maybe this will give you a place to start. "Gleam" wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
http://www.google.com/groups?hl=en&l...4a6e1da&rnum=1
You could try a couple of the suggestions in this link. HTH Paul ------------------------------------------------------------------- I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You can use this to test it
If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Added in xl2007?
-- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Tom
Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It is useful in 2007, I use it in my mail code examples and on this SaveAs page
http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am not sure what you mean by "It compile in older versions " as the command
Debug.Print ActiveWorkbook.hasvbproject does not work in 2003. It is good to know that Microsoft have improved things as this would be a good portable solution. "Ron de Bruin" wrote: It is useful in 2007, I use it in my mail code examples and on this SaveAs page http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Gleam
The macro examples on my site compile OK See How I test the application version in the code -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am not sure what you mean by "It compile in older versions " as the command Debug.Print ActiveWorkbook.hasvbproject does not work in 2003. It is good to know that Microsoft have improved things as this would be a good portable solution. "Ron de Bruin" wrote: It is useful in 2007, I use it in my mail code examples and on this SaveAs page http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Gleam,
If you put that command in a module in xl2003 and then did Debug = Compile VBAProject it does not raise an error. The error only occurs if the code attempts to execute the commend. I believe Ron is saying he has designed his code so that command isn't executed except in xl2007. So obviously it doesn't provide any functionality (you can't use it to check for code) in versions earlier than 2007. -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... Hi Gleam The macro examples on my site compile OK See How I test the application version in the code -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am not sure what you mean by "It compile in older versions " as the command Debug.Print ActiveWorkbook.hasvbproject does not work in 2003. It is good to know that Microsoft have improved things as this would be a good portable solution. "Ron de Bruin" wrote: It is useful in 2007, I use it in my mail code examples and on this SaveAs page http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#11
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Correct
-- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Gleam, If you put that command in a module in xl2003 and then did Debug = Compile VBAProject it does not raise an error. The error only occurs if the code attempts to execute the commend. I believe Ron is saying he has designed his code so that command isn't executed except in xl2007. So obviously it doesn't provide any functionality (you can't use it to check for code) in versions earlier than 2007. -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... Hi Gleam The macro examples on my site compile OK See How I test the application version in the code -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am not sure what you mean by "It compile in older versions " as the command Debug.Print ActiveWorkbook.hasvbproject does not work in 2003. It is good to know that Microsoft have improved things as this would be a good portable solution. "Ron de Bruin" wrote: It is useful in 2007, I use it in my mail code examples and on this SaveAs page http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#12
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Many thanks for the clarification.
"Ron de Bruin" wrote: Correct -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Gleam, If you put that command in a module in xl2003 and then did Debug = Compile VBAProject it does not raise an error. The error only occurs if the code attempts to execute the commend. I believe Ron is saying he has designed his code so that command isn't executed except in xl2007. So obviously it doesn't provide any functionality (you can't use it to check for code) in versions earlier than 2007. -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... Hi Gleam The macro examples on my site compile OK See How I test the application version in the code -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am not sure what you mean by "It compile in older versions " as the command Debug.Print ActiveWorkbook.hasvbproject does not work in 2003. It is good to know that Microsoft have improved things as this would be a good portable solution. "Ron de Bruin" wrote: It is useful in 2007, I use it in my mail code examples and on this SaveAs page http://www.rondebruin.nl/saveas.htm It compile in older versions so the macro can be used in all versions -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Ron de Bruin" wrote in message ... Thanks Tom Added in xl2007? Yes Workbook.HasVBProject Property Returns a Boolean that represents whether a workbook has an attached Microsoft Visual Basic for Applications project. Read-only Boolean. Version Added: Excel 2007 I get used to 2007<g Is that good or bad ? -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Tom Ogilvy" wrote in message ... Added in xl2007? -- Regards, Tom Ogilvy "Ron de Bruin" wrote in message ... You can use this to test it If ActiveWorkbook.HasVBProject then ............... -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Gleam" wrote in message ... I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#13
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Define a function
Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#14
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Carl
I get a compile error at this line: Dim m As VBComponent "user-defined type not defined." Do I need to activate a reference library? Some help on this would be appreciated as I have just searced help with "reference libraries" and found nothing helpful "Carl Hartness" wrote: Define a function Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? |
#15
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
' if Compile error:
' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Gleam wrote: Carl I get a compile error at this line: Dim m As VBComponent "user-defined type not defined." Do I need to activate a reference library? Some help on this would be appreciated as I have just searced help with "reference libraries" and found nothing helpful "Carl Hartness" wrote: Define a function Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? -- Dave Peterson |
#16
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you for bringing this to my attention - less haste more speed on my part!
Still not a portable solution until "everyone" is on Excel 2007 "Dave Peterson" wrote: ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Gleam wrote: Carl I get a compile error at this line: Dim m As VBComponent "user-defined type not defined." Do I need to activate a reference library? Some help on this would be appreciated as I have just searced help with "reference libraries" and found nothing helpful "Carl Hartness" wrote: Define a function Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? -- Dave Peterson |
#17
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try changing one line (and remove the reference):
Dim m As Object Gleam wrote: Thank you for bringing this to my attention - less haste more speed on my part! Still not a portable solution until "everyone" is on Excel 2007 "Dave Peterson" wrote: ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Gleam wrote: Carl I get a compile error at this line: Dim m As VBComponent "user-defined type not defined." Do I need to activate a reference library? Some help on this would be appreciated as I have just searced help with "reference libraries" and found nothing helpful "Carl Hartness" wrote: Define a function Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? -- Dave Peterson -- Dave Peterson |
#18
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Many thanks
"Dave Peterson" wrote: Try changing one line (and remove the reference): Dim m As Object Gleam wrote: Thank you for bringing this to my attention - less haste more speed on my part! Still not a portable solution until "everyone" is on Excel 2007 "Dave Peterson" wrote: ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Gleam wrote: Carl I get a compile error at this line: Dim m As VBComponent "user-defined type not defined." Do I need to activate a reference library? Some help on this would be appreciated as I have just searced help with "reference libraries" and found nothing helpful "Carl Hartness" wrote: Define a function Function wkbkHasMacros(fName$) As Boolean ' if Compile error: ' User-defined type not defined ' then VBE Tools - Reference, ' check Microsoft Visual Basic for Applications Extensibility 5.3 Dim m As VBComponent ' if Run-time error '1004' ' Programmatic access to Visual Basic Project is not trusted. ' then Excel Tools - Macro - Security, ' Click to enable "Trust access to Visual Basic Project" wkbkHasMacros = False For Each m In Workbooks(fName$).VBProject.VBComponents ' m.Type, 1=module, 2=Class, 3=Form, 100=Excel object If m.Type = 1 Then wkbkHasMacros = True Exit Function End If Next m End Function and call it with wkbkHasMacros(ActiveWorkbook.Name) Carl. On Mar 16, 4:26 pm, Gleam wrote: I am using macros in one file to audit another file. The second file should not have any macros. Is there a way I can detect this? -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
automatically detect excel file in designated directory and convert to pdf | Excel Programming | |||
Please help to detect this file | Excel Programming | |||
Detect if file exists | Excel Programming | |||
Detect if a file is in use or being modified | Excel Programming | |||
Detect if file is open | Excel Programming |