Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    vba - controllo su stringhe

    Ciao a tutti.
    Sto effettuando un banalissimo controllo di una variabile (string).
    Il problema è che anche quando il controllo è vero, non mi entra nell' IF. Non so propio dove sbattere la testa. E' mai successo qualcosa di simile anche a voi, come lo avete risolto?

    [code
    Sub Macro1()
    On Error GoTo errore
    Dim prop As String
    Dim nome As String

    For i = 30001 To 31402
    nome = "L" & CStr(i) & ".CR"
    Documents.Open FileName:=nome
    Selection.MoveDown Unit:=wdLine, Count:=21
    Selection.MoveRight Unit:=wdCharacter, Count:=6

    For x = 0 To 8
    prop = prop & Selection.Text
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Next
    'DOPO QUESTO CICLO, LA VARIABILE PROP CONTIENE IL NOME CHE DEVO CONTROLLARE, L'HO VERIFICATO

    controllo = "nome"
    If prop = controllo Then
    MsgBox ("Propietario : " & prop & " Nome macchina : " & nome)
    End If
    'QUESTO E' IL CONTROLLO INCRIMINATO, quando prop ha valore "nome" , non mi entra comunque nell'IF

    prop = ""
    ActiveWindow.Close
    Next

    errore:
    If Err.Number = 5174 Then
    i = i + 1
    nome = "L" & CStr(i) & ".CR"
    Resume
    End If

    End Sub
    [/code]

  2. #2
    domanda stupida:

    hai provato
    prop=lcase(trim(prop))
    e poi if prop=controllo

    giusto per essere sicuri...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    non avevo provato
    l'ho fatto e non è cambiato nulla!!!
    Non c'è propio nessuno che può aiutarmi???

  4. #4
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Prova a mettere il MsgBox fuori dall'if e vedi che ti stampa...cmq è molto strano! :master:
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  5. #5
    metti un breakpoint sulla riga

    If prop = controllo Then ....

    e controlla cosa contengono "prop" e "controllo"
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    lo so che è molto strano...
    Ripeto, le variabili le controllo durante il debug, e come valore mi danno due stringhe teoricamente identiche....ma che in realtà non fanno avverare la condizione dell'IF.
    L'unica particolarità di questo script, è che la variabile "prop" la popolo leggendo un documento tramite word.
    per sicurezza, ho scritto
    codice:
    For x = 0 To 8 
    prop = prop & cstr(Selection.Text)
    Selection.MoveRight Unit:=wdCharacter, Count:=1 
    Next
    Senza nessun risultato


  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    problema riosolto.
    Durante il next di popolamento della variabile, l'ultimo carattere era nullo.
    Quindi il contenuto della variabile mi veniva si visualizata senza spazza "valore", ma in realtà aveva un carattere nullo.
    O comunque qualcosa del genere.
    Grazie dell'aiuto
    ciao :mavieni:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.