mercoledì 2 settembre 2009

Eureka! (lista stampanti in OOo Basic)

Questo file.py:

import uno
import unohelper
from it.icstools.examples.DoobieDoo import XDoobieDoo
import win32com.client

# DoobieDoo OOo Calc Add-in implementation.
# Created by jan@biochemfusion.com April 2009.

class DoobieDooImpl( unohelper.Base, XDoobieDoo ):
def __init__( self, ctx ):
self.ctx = ctx

def getPrinters( self ):
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
colItems = objSWbemServices.ExecQuery("Select * from Win32_Printer")
printers = []
for objItem in (colItems):
printers.append (objItem.Name)
printersTuple = tuple (printers)
return printersTuple

def createInstance( ctx ):
return DoobieDooImpl( ctx )

g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation( \
createInstance,"it.icstools.examples.DoobieDoo.python.DoobieDooImpl",
("com.sun.star.sheet.AddIn",),)

+ questo in OOoBasic:























danno questo:







:-D

(p.s. ci sono pezzi in più ed inutili, non ho riportato la procedura e altri file, ma il risultato non cambia)