Its been a while since I wrote the Addprinter() UDF but I do believe it requires having either admin or power user permissions to run locally. Other options would be to write an admin script using addprinter() and add the printer remotely, or to just set up your IP Printers on a Server, and then use the built in function AddPrinterConnection() .