PageSetup.set_PrintQuality .NET method

R

ROB

Can anyone tell me how this property is set. In the macro it is
PageSetup.PrintQuality=600 or PageSetup.PrintQuality=300
But in .NET a c# object seems to only have
PageSetup.set_PrintQuality(index,object_p2)

according to some sources
index value can be 0,1 or 2 0 beging Horizontal print quality,1 being
vertical
So do I need to function calls? Is this the way to set the printquality
parameter properly?


Rob
 
T

Tom Ogilvy

This is what the help says: Index Optional Variant. Horizontal print
quality (1) or vertical print quality (2). Some printers may not support
vertical print quality. If you don’t specify this argument, the PrintQuality
property returns (or can be set to) a two-element array that contains both
horizontal and vertical print quality.

I didn't see anything about 0.

maybe you should skip trying to use it.
 
R

ROB

Well what about the other parameter?

Why did Microsoft change this parameter in the object? Especially considering
the macro recording shows setting the PrintQuality has not changed
e.g .PrintQuality=300 is still generated.

and why should I skip using it ? I still need to set the PrintQuality
How else should I set it? If you are going to suggest not using one thing to
make a setting could you at least point out a better way to make the setting?
and what exactly is the second parameter: object_p2 what is p2 and what
does that mean to anyone? I can only imagine it is an integer representing
the desired print quality

Does anyone have any ideas on this?
 
T

Tom Ogilvy

I say skip it because, in my experience -
Have you actually observed a difference in the quality? However, you seem
to think you need it.

If it records 300 and 600, then that certainly isn't supported by the help.
This wouldn't be the first time that the macro recorder records something
different from help (and it works) or records something different from help
(and it doesn't work) or records consistent with help (and it still doesn't
work). there are definite instances of recorded code not working. what is
"recorded" is specified in some type of internal database - it really isn't
literally "recording" the code executed.

Like any other Print property, you can always use the Windows API to set it.

anyway, back to PrintQuality. In .NET, do you have a variable that can be a
Long or a variant array? I don't think so. I suspect you would have to go
to the documentation on the Interop to see what the second argument is. I
suspect it has something to do with the fact that it can return an array if
you don't use the index and .Net doesn't support the variant variable type.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top