# VBForums CodeBank > CodeBank - Other >  VBA, office, VBS or shell duplex printing

## westconn1

as there is no provision to change duplex in vba or when using shell /shellexceute etc
here is a dll to return /set duplex property for the printer, it should always be returned to the original state after printing, i am posting the dll as users for vba can not compile the code

sample usage

vb Code:
Set pd = CreateObject("printerduplex.class1")ret = pd.duplex("HP Color LaserJet 2605", 0)  ' get current state, pass 0success = pd.duplex("HP Color LaserJet 2605", 2)  'set to flip side, returns true or false' 1 = single side, 3 = flip top'printing heresuccess = pd.duplex("HP Color LaserJet 2605", ret)  ' return to original state

i have updated the dll with an extra function, to return a list of all available printers, with the port ("ne01") needed for excel etc
*printerlist = pd.listprinters*

----------


## brixon

> as there is no provision to change duplex in vba or when using shell /shellexceute etc
> here is a dll to return /set duplex property for the printer, it should always be returned to the original state after printing, i am posting the dll as users for vba can not compile the code
> 
> sample usage
> 
> vb Code:
> Set pd = CreateObject("printerduplex.class1")
> ret = pd.duplex("HP Color LaserJet 2605", 0)  ' get current state, pass 0
> success = pd.duplex("HP Color LaserJet 2605", 2)  'set to flip side, returns true or false
> ...


Hi

How to connect this dll to excel VBA? What are the arguments?

----------


## brixon

> Hi
> 
> How to connect this dll to excel VBA? What are the arguments?



I've got it:

On Microsoft Visual Basic for Application Editor:
Tools->References...
Button Browse... and show the path to dll.

Another problem - i've got printers with and without duplex. On printers without duplex, dll show message box, that this printer doesn't support duplexing, but on those with duplex function, state of duplex is changing from 1 to 3, but the printers doesn't print in duplex, my printers are:
NRG DSM 645, infotec 2230.

Maybe those settings apply only for HP printers?

----------


## westconn1

i have other reports that it is not working correctly in excel, but have not found any solution as yet

----------

