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)

giovedì 26 marzo 2009

A questo link c'è un file di Calc che permette di scegliere, con dati->validità, da una lista di valori, ed una seconda scelta in base a quanto già scelto.
per capirci meglio:
marcaarticoli
xyzbello
zyxbrutto
xyzbellissimo

dopo aver scelto xyz come marca, la seconda scelta permetterà di scegliere bello o bellissimo.

Il file contiene una macro in LGPL, scopiazzata da questo thread del forum non ufficiale di OOo (ricordo che i forum ufficiali si trovano qui) e modificata, da cui declino ogni responsabilità, come sempre.

E' stato richiesto sulla mailing list utenti di OOo, a cui ci si può iscrivere da qui.