Aprire un documento word da una form in VB.NET

martedì 23 marzo 2004 - 17.05

Klaus-zanini Profilo | Senior Member

Ciao a tutti, ho installato Visual Studio Tools per Office e ora vorrei poter creare delle form che premendo un pulsante facciano attivare word (oppure excel). Mi piacerebbe sapere qual è il comando che devo inserire e se è possibile anche aprire documenti esistenti.
Grazie

19018 Profilo | Expert

Per avviare un qualsiasi processo software (e non solo) basta usare questa riga di codice :
System.Diagnostics.Process.Start("C:\Programmi\Microsoft Office\Office10\WINWORD.EXE")

l'argomento di Start è la stringa che contiene il percorso dell'eseguibile.
Oppure se vuoi eseguire direttamente un documento basta che gli passi il percorso del documento!
System.Diagnostics.Process.Start("C:\prova.doc")

ciao

Brainkiller Profilo | Guru

Ciao Klaus,
i Visual Tools per Office, non li ho mai installati ma mi risulta che servano per costruire applicazioni che si integrino con la suite Office, quindi per costruire eventualmente Smart Tags o Plugins o cose simili.
Se vuoi semplicemente aprire da una WinForm un programma della suite Office, il suggerimento dato da 19018 è perfetto. Esiste anche un tip per fare questo:
http://www.dotnethell.it/tips/tip.aspx?TipID=31

facci sapere.
ciao
david

Klaus-zanini Profilo | Senior Member

Grazie mille, allora quasi quasi faccio anche un'altra domanda in merito: io ho un portale gestito sul mio server. Vorrei che gli utenti che si collegano al mio server possano (cliccando su un pulsante della pagina web aperta) attivare il loro word (o excel) e possano salvare il loro documento nel mio server ad un indirizzo prestabilito.
Non so se avete presente, è una funzionalità dei SharePoint Services 2.0 in Windows Server 2003.
Avete idea di come posso fare?

klaus

Brainkiller Profilo | Guru

Ciao Klaus,
io Share Point non lo conosco benissimo. L'ho installato una volta fra l'altro in beta per vedere che cosa faceva. Le prime versioni facevano poco o niente, dalla 2.0 dicono che sia molto meglio.
Generalmente da una pagina Internet non puoi fare aprire automaticamente un programma all'utente che sta navigando, puoi visualizzargli però un link ad un documento Office, allora in quel caso cliccando lì si aprirà automaticamente un'istanza di Word o Excel dentro il Browser.
Nel momento del salvataggio però mi risulta che sia necessario salvare su disco e poi eventualmente uploadare tramite il portale SharePoint il file sul server.

ciao
david

Klaus-zanini Profilo | Senior Member

Grazie david
Sei stato molto chiaro, e in effetti ho notato che SharePoint Services permettono di creare un nuovo documento solo se sei sul server e non da un terminale remoto.
Per quanto riguarda l'apertura, invece, è possibile aprire quella presente nel server anche se si è su un terminale remoto (lo apre con ftp se non erro), modificarla e salvarla direttamente sul server (senza salvare sul proprio pc e poi uploadare).
Per finire ho notato che ora, creando un nuovo documento word, posso salvarlo direttamente nella stessa locazione in cui prima ho salvato il documento modificato (direttamente sul server).
Questa è la famosa integrazione che offrono i prodotti SharePoint Services e SharePoint Portal Server verso Office 2003. Il secondo non l'ho ancora provato ma pare essere ancora più potente.
Credete non si possa avere lo stesso tipo di integrazione con un'applicazione creata in .NET?
Grazie sempre per l'aiuto
Klaus

Brainkiller Profilo | Guru

Grazie delle informazioni, ho imparato qualcosa anche io :)
Mi fai venire voglia di installarlo.
Allora, riguardo la tua ultima domanda, Sharepoint e Office fanno una parte .NET ne fa un'altra. Nel senso che Sharepoint mi pare sia più orientato alle intranet interne quindi in rete locale piuttosto che via Web. Con .NET puoi creare delle pagine ASP.NET ma non so se hai la possibilità di sfruttare funzionalità esposte da Sharepoint. Conoscendo Microsoft dovrebbe essere possibile visto che si può interagire con ogni software.
Nell'impossibilità mia di installare Sharepoint, ti consiglio quindi di leggere bene la documentazione fornita con il prodotto. Se è possibile sicuramente ci sarà un riferimento a .NET.
Inoltre con .NET mi pare si possano creare anche le WebParts di Sharepoint quindi... l'integrazione dovrebbe essere possibile. Se riesco mi installo Sharepoint tanto per dargl una guardata.

ciao
david

Klaus-zanini Profilo | Senior Member

Caro david,
forse non mi sono spiegato bene nella domanda: non chiedevo se fosse possibile integrare SharePoint Services con .NET bensì Office con .NET.
Per quanto mi riguarda SharePoint Services non credo necessiti di integrazioni con .NET in quanto probabilmente SharePoint Portal (che finalmente a giorni potrò provare :)) credo abbia il massimo delle funzionalità che si potrebbero domandare ad un software per portali. La mia domanda si riferiva alla possibile integrazione tra Office e .NET. Vorrei fornire al mio portale funzionalità vicine a quelle di SharePoint, quindi possibilità di creare e modificare documenti Office e recuperare le loro informazioni (autore, dimensioni, data) per creare una lista di collegamenti.
Detto così sembra difficile...forse lo è, ma dato che SharePoint Services lo fa e viene distribuito gratuitamente (addirittura incluso in Windows 2003 server) mi domando se non posso riuscirci anch'io nel mio portale.

Grazie sempre dell'attenzione
Klaus

Brainkiller Profilo | Guru

Per operare con i file di Office da .NET devi usare degli assemblies particolari chiamati PIAs.
Qui trovi un'introduzione:
http://www.dotnethell.it/articles/article.aspx?ArticleID=96

Li devi scaricare a parte se usi Office XP, li hai già sul CD se usi Office 2003.
Questi PIAs sono praticamente classi che ti permettono di interfacciarti ai precedenti componenti COM e quindi di interagire con Office quindi puoi aprire e modificare file Word, Excel, ecc., leggere informazioni quali data, autore, ecc.

Questo sì, si può fare tranuqillamente.

ciao
david

Klaus-zanini Profilo | Senior Member

Ho provato a cercare le Pia's per Office2003 nel cd ma non le trovo. Ho scaricato quelle di XP (come spiegato nel tuo collegamento).
Poi ho provato gli esempi come descritto al link http://www.microsoft.com/italy/msdn/library/default.asp?url=/italy/msdn/library/net/c/odc_offcs.asp?frame=true ma ovviamente ho dei problemi perché io ho Office2003 e qui spiegano XP.
In particolare quando uso il comando SaveAs (quello che ha 11 parametri) mi restituisce l'errore indicante la non presenza di metodi con 11 parametri.
Per caso sai come posso mediare al problema?
Ci sono esempi che mi chiariscono come usare i Pia che ho scaricato anche con Office 2003 o le due cose sono incompatibili?
E se sono nel cd come dici tu mi dici dove li trovo?

Grazie Klaus

DeTtOlO Profilo | Newbie

Le PIAs per il 2003 sono sempici da installare:
se hai gia' installato office 2003 vai su installazione applicazioni
microsotf office 2003 --> cambia --> aggiungi/rimuovi caratteristiche --> personalizzazione avanzata applicazioni --> espandi la cartella excel --> metti supporto programmabilità .net in esecuzione sul computer locale..... idem per word....

Cyao

Klaus-zanini Profilo | Senior Member

grazie mille
:)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5