Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    C# Aprire un file Word dal Combobox.

    Gent.mi,


    non riuscendo da giorni alla risoluzione di un problema che riscontro, sono a chiedere un suggerimento.


    Al ComboBox, tramite un pulsante, ho un elenco di file di Word, evidenziato un file mi si dovrebbe aprire il relativo documento e riscontro dei problemi.


    In una stringa se inserisco il nome del file.doc il documento si apre regolarmente viceversa se inserisco la variabile mi esce errore: (Impossibile trovare il file specificato)
    riporto il codice:
    codice:
    string nomeFile;
    nomeFile = ComboBox.SelectedItem.ToString();
    Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + (@"\Formattazione\Word\Città.doc"));
    il documento si apre regolarmente viceversa:
    Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + (@"\Formattazione\Word\nomeFile.doc"));
    il documento non si apre ed esce errore: Impossibile trovare il file specificato.
    Da precisare che con il messagebox.show(nomeFile); mi esce il nome del file: (Città).


    Non comprendo dov'è l'errore ed auguro del gradito suggerimento.
    Fiducioso, saluto.
    Domenico.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Quote Originariamente inviata da Pacifico437 Visualizza il messaggio
    In una stringa se inserisco il nome del file.doc il documento si apre regolarmente viceversa se inserisco la variabile mi esce errore: (Impossibile trovare il file specificato)
    E' evidente che ciò che finisce nella variabile quando selezioni dalla ComboBox sia un nome di file non valido rispetto a quello che inserisci manualmente.

    Nel codice che hai riportato, la variabile "nomefile" non viene utilizzata salvo per l'assegnazione del valore, quindi non è chiaro come vai a impiegarla successivamente al posto del valore letterale dei file, che evidentemente funziona.

    Metti in una variabile l'intero valore stringa che passi poi a Process.Start() (senza fare la concatenazione direttamente nella chiamata, ma prima) e vedi quali sono le differenze rispetto a quando tutto funziona, e poi a quando NON funziona.

    Inoltre, i percorsi non si uniscono con un semplice "+": occorre utilizzare Path.Combine() per gestire anche i casi in cui potrebbero mancare separatori di percorso.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Quote Originariamente inviata da Pacifico437 Visualizza il messaggio
    In una stringa se inserisco il nome del file.doc il documento si apre regolarmente viceversa se inserisco la variabile mi esce errore: (Impossibile trovare il file specificato)
    E' evidente che ciò che finisce nella variabile quando selezioni dalla ComboBox sia un nome di file non valido rispetto a quello che inserisci manualmente.

    Nel codice che hai riportato, la variabile "nomefile" non viene utilizzata salvo per l'assegnazione del valore, quindi non è chiaro come vai a impiegarla successivamente al posto del valore letterale dei file, che evidentemente funziona.

    Metti in una variabile l'intero valore stringa che passi poi a Process.Start() (senza fare la concatenazione direttamente nella chiamata, ma prima) e vedi quali sono le differenze rispetto a quando tutto funziona, e poi a quando NON funziona.

    Inoltre, i percorsi non si uniscono con un semplice "+": occorre utilizzare Path.Combine() per gestire anche i casi in cui potrebbero mancare separatori di percorso.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    ovvio che se "nomefile" lo scrivi in quel modo non funziona devi usarlo come variabile dentro la path.combine()

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    codice:
    Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Formattazione\Word\" + nomeFile.doc);
    Ultima modifica di oregon; Ieri a 22:27
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.