Pannello di Controllo Moderatore ]

[Risolto] Errore nel filtro con tre criteri nella colonna

Creare una macro - Scrivere uno script - Usare le API

[Risolto] Errore nel filtro con tre criteri nella colonna

Messaggioda chimico » venerdì 18 gennaio 2019, 18:46

Saluti ,

           Ho la macro sotto per più filtri .

           Se inserisco tre criteri nella colonna "C" del filtro 2, allora non funziona correttamente .

           ma se metto solo due criteri nella colonna "C" di Filter 2, allora funziona bene .

           Anche l'ultimo filtro 12 nella colonna "M" non funziona con i criteri numerici .
Codice: Seleziona tutto   Espandi visualeStringi visuale
Option Explicit
Sub filtro_avanzato()

const ZONE1 = "A3:CA5000"      
const CELL2 = "A1"             

dim oDoc as object, oFeuille1 as object, oFeuille2 as object
dim oRange as object, oDataRange as object
dim oCelDest as object    ' cellule de destination
dim i as integer, feuille2 as string
dim oFiltreDsc as object
dim operateur as long, nValue as currency

dim tArgs(5) As New com.sun.star.sheet.TableFilterField   

   oDoc = thisComponent
   oFeuille1 = oDoc.Sheets.getByName("2.1Pedidos para Fat")
   oFeuille2 = oDoc.Sheets.getByName("Pedidos_Pendentes")
   
   oRange = oFeuille1.getCellRangeByName(ZONE1)
   oFiltreDsc = oRange.createFilterDescriptor(true)

     
       'colonna A
   tArgs(0).Field = 0                  
   tArgs(0).IsNumeric = false   
   tArgs(0).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
   tArgs(0).StringValue =   ".*vazio.*" 


       'colonna C
   tArgs(1).Field = 2   
   tArgs(1).Connection = com.sun.star.sheet.FilterConnection.AND      
   tArgs(1).IsNumeric = false
   tArgs(1).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
   tArgs(1).StringValue =   ".*" & "A5" & ".*" 
   
   
   tArgs(2).Field = 2         
   tArgs(2).IsNumeric = false
   tArgs(2).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
   tArgs(2).StringValue =   ".*" & "A9" & ".*" 
   tArgs(2).Connection = com.sun.star.sheet.FilterConnection.AND
   
   
   tArgs(3).Field = 2         
   tArgs(3).IsNumeric = false
   tArgs(3).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
   tArgs(3).StringValue =   ".*" & "A0035" & ".*" 
   tArgs(3).Connection = com.sun.star.sheet.FilterConnection.AND
   
      
       'colonna D
   tArgs(4).Field = 3
   tArgs(4).Connection = com.sun.star.sheet.FilterConnection.AND         
   tArgs(4).IsNumeric = false
   tArgs(4).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
        tArgs(4).StringValue =   ".*" & "ELASTICO" & ".*"
   
   
       'colonna M
   tArgs(5).Field = 12
   tArgs(5).Connection = com.sun.star.sheet.FilterConnection.AND      
   tArgs(5).IsNumeric = true
   tArgs(5).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
   tArgs(5).NumericValue =  1
   
                  
   'Destination du résultat
   oCelDest = oFeuille2.getCellRangeByName(CELL2)
   
   with oFiltreDsc                           
      .ContainsHeader = true   
      .CopyOutputData = true   
      .OutputPosition = oCelDest.CellAddress
      .UseRegularExpressions = true
      .setFilterFields(tArgs())      
   end with

   oRange.filter(oFiltreDsc)   
   oDoc.currentController.setActiveSheet(oFeuille2)
   
End Sub


abbracci amici .
Ultima modifica di chimico il sabato 19 gennaio 2019, 8:10, modificato 1 volta in totale.
OpenOffice 4.1 no Windows 7
chimico
 
Messaggi: 52
Iscritto il: giovedì 22 novembre 2018, 15:20

Re: Errore nel filtro con tre criteri nella stessa colonna

Messaggioda Gaetanopr » venerdì 18 gennaio 2019, 19:17

Salve, senza un file per poter provare è difficile risponderti.

Saluti
Openoffice 4.1 su windows xp
Gaetanopr
Volontario
Volontario
 
Messaggi: 2473
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Errore nel filtro con tre criteri nella stessa colonna

Messaggioda chimico » sabato 19 gennaio 2019, 8:05

[Risolto]

Saluti sr. Gaetanopr ,

grazie per la guida . :super:

Sono stato in grado di risolvere con l'aiuto della macro sub PysFilter


amico abbraccio .
OpenOffice 4.1 no Windows 7
chimico
 
Messaggi: 52
Iscritto il: giovedì 22 novembre 2018, 15:20


Torna a Macro e UNO API

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite