Salve ragazzi, ho realizzato un Addin per microsoft WORD che deve eseguire l'upload del documento sul server di un gestore documentale. L'AddIn è interfacciato con il gestore documentale tramite le sue API. L'upload l'ho implementato in questo modo:
'Salvo il documento attivo su disco
applicationObject.ActiveDocument.SaveAs("C:\" & DocName & ".doc")
Dim FilePath As String
Dim FileNum As Integer
FilePath = "C:\" & DocName & "#.doc"
FileNum = FreeFile()
'apro in modalità binaria il documento precedentemente salvato
FileOpen(FileNum, FilePath, OpenMode.Binary, OpenAccess.Read)
Dim TotalFileSize As Long
Dim TotalBytesWritten As Long
Dim I As Integer
TotalFileSize = LOF(FileNum)
Dim bdata(TotalFileSize-1) As Byte
Try
While (Not EOF(FileNum))
TotalBytesWritten = TotalFileSize
If TotalBytesWritten > 0 Then
If (TotalBytesWritten > UBound(bdata)) Then
TotalBytesWritten = UBound(bdata) + 1
Else
TotalFileSize = TotalBytesWritten
End If
FileGet(FileNum, bdata)
'API utilizzata per scrivere sul server
objPutStream.Write(bdata, TotalBytesWritten)
TotalBytesWritten = TotalFileSize - TotalBytesWritten
End If
End While
Catch E As Exception
msgbox(E.message)
Exit Function
Finally
FileCLose(FileNum)
End Try
Ecco qual è la cosa strana: dopo aver completato l' AddIn l'ho testato su 7 macchine, su 5 ha funzionato benissimo sulle altre 2 la parte di codice qui sopra mi genera questa eccezione ("index 0 is invalid.") e mi dice che l'indice deve essere compreso tra 0 e -1. Dopo mi sono reso conto che sulle due macchine dove non ha funzionato c'è WINDOWS 2000 mentre sulle macchine dove ha funzionato perfettamente c'è XP o Windows 2003 Server.
Da questo ho capito che potrebbe dipendere dal sistema operativo ma non capisco perchè!
Non saprei proprio che fare, qualcuno ha qualche idea???????????