is there any condition you have in your project that you must use the .Action property?
if yes then there is nothing to say. but if not then why are you using that technique? because using the .Show<Dialog Name> is most preferable than using the .Action method as in the later case you have to remember those numbers. but if you use the former one you don't need to remember anything. each one of them will be available to you just when you call the intellisense.
ok... if you insist so then these are the numbers for your action property :-
for openfile dialog
Action=1 for save as dialog
Action=2 for color dialog
Action=3 for fonts dialog
Action=4 for printer dialog
one more thing, regarding the error you just misjudged what i've said. the syntax for error trapping which i gave is for preventing an error to be displayed when an user clicks cancel button of the dialog not to show the error.
if you set CancelError=True and you click the cancel button vb6 will return you the following runtime exception :-
Runtime Error : 32755
Cancel was selected
now if you click on the debug button the compiler will highlight this line (based on which dialog you opened) :- CommonDialog1.ShowOpen
so in this case you must write an error handler explicitly. now to avoid this from happen you can set CommonDialog1.CancelError = False. for this you don't have to write an error handler and of course the compiler also won't return you any runtime exception whenever you click on the cancel button.