Oppure

Loading
13/07/14 16:22
eurostar_italia
salve,

ho un banale exe situato in un pc (chiamiamolo 1) in rete,con la cartella condivisa.
accedo a questo pc da un altro (chiamiamolo pc2) e dalla cartella condivisa lancio l'exe.
questo genera la stampa di un file word presente sempre nella cartella condivisa.
ho due quesiti :

2) perchè la stampa mi genera un errore ?
in pratica nonostante mi riconosca la stampante del pc che sto usando,cmq non stampa.
può essere perchè la stampa cmq si riferisce al modulo che è sul pc1?
grazie
questo è il codice che uso per la stampa
codice:
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'importo i dati dalla schermata di inserimento
Dim nome AsString = UCase(dataentry.TextBox1.Text)


'CONTROLLO ESISTENZA DEL MODELLO WORD SU CUI SCRIVERE NEL PC

If IO.File.Exists(Application.StartupPath & "\prova.docx") = FalseThen
            MsgBox("IL FILE RICHIESTO PER LA STAMPA NON ESISTE " & vbCrLf & "CONTATTARE IL RESPONSABILE DEL SOFTWARE")
Application.Exit()

EndIf

'APERTURA FILE E SCRITTURA NEI BOOKMARK DEI VALORI

Dim objword AsNew Microsoft.Office.Interop.Word.Application
        objword.Visible = False
        objword.Documents.Open(Application.StartupPath & "\prova.docx")

        objword.Selection.Font.Bold = True
        objword.Selection.Font.Size = 15

Dim printdialog AsNewPrintDialog
Dim result AsDialogResult = printdialog.ShowDialog


        objword.ActiveDocument.Bookmarks.Item("NOME").Select()
        objword.Selection.Text = nome
        objword.Selection.Bookmarks.Add("NOME")


If (result = DialogResult.OK) Then
                       objword.PrintOut()
EndIf

        objword.ActiveDocument.PrintOut(Background:=True)
     


'CONTROLLO EFFETTUAZIONE STAMPA E CHIUSURA FILE

If MsgBox("STAMPA ESEGUITA CORRETTAMENTE ?", vbYesNo) = vbYes Then


objword.Documents.Close(SaveChanges:=Nothing)
            objword.Quit()

Application.Exit()
Else
Try
Catch ex AsException
                MsgBox(ex.Message)
                objword.Documents.Close(SaveChanges:=Nothing)
                objword.Quit()
EndTry
EndIf
EndSub


nb. le versioni di office variano dalla 2007 alla 2010 sui pc in oggetto
ho usato un interop.word 12.0
Ultima modifica effettuata da eurostar_italia 13/07/14 16:23
aaa
13/07/14 18:48
eurostar_italia
aggiungo il codice dell'errore che esce fuori

************** Testo dell'eccezione **************
System.Runtime.InteropServices.COMException (0x800A1066): Comando fallito
in Microsoft.Office.Interop.Word.Documents.Close(Obje ct& SaveChanges, Object& OriginalFormat, Object& RouteDocument)
in WindowsApplication1.riepilogodati.Button2_Click(Ob ject sender, EventArgs e)
in System.Windows.Forms.Control.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
in System.Windows.Forms.Control.WndProc(Message& m)
in System.Windows.Forms.ButtonBase.WndProc(Message& m)
in System.Windows.Forms.Button.WndProc(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
aaa
15/07/14 6:12
eurostar_italia
ho provato anche a inserire la libreria 14 per office 2010 ,ma niente continua l'errore.
qualcuno che ha qualche idea =?
aaa