Saluti
premetto che ho speso un paio di giornate a smanettare e (in parallelo) a leggere per bene i post che parlassero dell'argomento in oggetto; mi sono fatto una cultura di latebinding ed earlybinding, ma non riesco a venirne fuori.
Sicuramente colpa mia vista l'età e il fatto che non è il mio mestiere...
In particolare ho letto per bene il post:
https://groups.google.com/forum/#!searchin/it.comp.appl.access/latebinding/it.comp.appl.access/wOM0mjgzElQ/M4WTaLEgif8J
Vi chiedo quindi, se possibile, di illuminarmi....
Scusate inoltre il linguaggio non appropriato
Ho sviluppato (da molti anni ormai) un programmino in access 2003: risiede in un server ed è accessibile a una quindicina di utenti.
Il programmino prevede (anche) l'esportazione dei risultati presenti in un form, su un file di excel.
La versione di sviluppo come ho detto è Access 2003, ma gli utenti vi accedono dalle loro postazioni che sono dotate di Office 12.0 e Office 14.0
Nessun problema registrato finora (dal punto di vista dei riferimenti alle librerie).
e' ovvio che se faccio delle modifiche dai pc che hanno montato (per esempio) office 14.0, quando vado ad aprire il file dalla postazione con access 2003 o con office 12.0, il programma riporta l'errore di "riferimento mancante": e chiaramente nel menu "riferimneti" di vba, c'è in bella evidenza MANCA Excel 14.0...
Ma questo non è un problema (per me): basta sviluppare solo da Access 2003...
Il problema è sorto quando in una postazione è stato installato office 2013, cioè office 15.0.
Se quell'utente apre il programma (non in senso di svuiluppo, solo come utente), gli altri utenti (che ripeto hanno office 11.0, 12.0, 14.0) quando aprono il file si vedono comparire l'errore di riferimento (e, nel menu ruferuimenti di vba, c'è la scritta MANCA Excel 15.0).
Ecco allora le domande:
1) perchè con le versioni 12.0, 14.0, il problema non si poneva e si pone ora per la 15.0?
2) non può essere un problema di latebinding o earlybinding, visto che, per ben due versioni successive (la 12.0 e la 14.0) senza cambiare alcunchè tutto ha funzionato perfettamente...
Vi chiedo quindi, se possibile, di aiutare chi ora brancola nel buio (e sarei io!)
Posto sotto il codice che uso per "esportare" i dati del form in excel.
Grazie ancora
Guido
###########
Public Function AExcel(NomeMaschera, NomeFiltro, ValoreFiltro, TipoOperazione)
Dim stDocName As String
Dim str As String
'Dim name As String
Dim excApp As Excel.Application
Dim excDoc As Object
Dim Risposta
Dim Orario
'Dim TipoOperazione As Integer
'TipoOperazione = Forms!MascheraGestioneAdempimenti.Cornice95
Orario = Time()
stDocName = NomeMaschera
.......
str = "C:\FILTRO_" & NomeFiltro & "_" & ValoreFiltro & "_" & Orario & ".xls"
DoCmd.OutputTo acOutputForm, stDocName, acFormatXLS, str
Set excApp = New Excel.Application
Set excDoc = excApp.Workbooks.Open(str)
With excDoc.Worksheets(1)
.....
.....
End With
excDoc.Close savechanges:=True
excApp.Workbooks.Close
excApp.Application.Quit
Set excDoc = Nothing
Set excApp = Nothing
MsgBox ("FATTO; I DATI SONO SUL FILE " & str)
End Function
#############