Filedialog SaveAs ("Method 'Execute' of 'FileDialog' failed)

Status
Niet open voor verdere reacties.

jarsky

Gebruiker
Lid geworden
19 feb 2009
Berichten
36
Hallo,

ik heb het volgende probleem. in Acces 2010 heb ik onderstaande code in gebruik en dit werkt perfect. Echter in Access 2007 loop ik tegen een probleem aan waar ik niet uit kom.
Bij de actie Filedialog SaveAs onderin de code krijg ik steeds de foutmelding:
"Method 'Execute' of 'FileDialog' failed. als ik dan kijk waar het fout gaat dan is dit bij
.execute.

Wie kan mij hierbij helpen, of is dit iets wat in 2007 nog niet kon/kan worden gerealiseerd.:confused:

Code:
Dim mysheet As Object, myfield As Variant, xlApp As Object, fd As FileDialog

MsgBox "Open eerst het standaard Forecast invulformulier", vbInformation, "Lees dit eerst"

Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
Dim A As Variant

[COLOR="darkgreen"]'hier de standaard excel invulijst opzoeken[/COLOR]
With fd

If .Show = -1 Then

For Each vrtSelectedItem In .SelectedItems

A = vrtSelectedItem

Next vrtSelectedItem
Else
End If
End With

Set fd = Nothing

[COLOR="darkgreen"]'hier de waarde naar het geopende excelbestand wegschrijven[/COLOR]
Set xlApp = CreateObject("Excel.Application")
Set mysheet = xlApp.Workbooks.Open(A).sheets("Invulsheet")

mysheet.cells(1, 2).Value = Me.WBS_Element
mysheet.cells(2, 2).Value = [Subformulier Tbl_FC]![Contractwaarde]
mysheet.cells(3, 2).Value = [Subformulier Tbl_FC]![Materiaal]
mysheet.cells(4, 2).Value = [Subformulier Tbl_FC]![Subcontracting]
mysheet.cells(7, 2).Value = [Subformulier Tbl_FC]![Aantal uren]
mysheet.cells(8, 3).Value = [Subformulier Tbl_FC]![gem uurloon]

MsgBox "Ga in het volgende dialogscherm naar de lokatie" & Chr(13) & "waar u deze nieuwe forecast wil opslaan", vbInformation, "Lees dit eerst"

[COLOR="darkgreen"]'Nu de excelsheet opslaan in de lokatie naar keuze[/COLOR]
Set fd = mysheet.Application.FileDialog(msoFileDialogSaveAs)

With fd
.InitialFileName = Me.WBS_Element
.Show
For Each vrtSelectedItem In .SelectedItems
A = vrtSelectedItem
Next vrtSelectedItem
.Execute '[COLOR="red"]>>>hier gaat het fout in MSaccess 2007. melding "Method 'Execute' of 'FileDialog' failed"[/COLOR]
End With

mysheet.Application.activeworkbook.Close
xlApp.Quit
 
Laatst bewerkt door een moderator:
Als je zulke grote lappen code post, is het wat netter als je die opmaakt met de Code tab (knop #). Anders wordt de tekst wel erg lang....
Ik vermoed dat het probleem in de geladen bibliotheken zit. Omdat je ook 2010 gebruikt, kan er wel eens een nieuwere bibliotheek zijn geladen dan 2007 ondersteunt. De bibliotheek zal dan denk ik als ONTBREEKT zijn gemarkeerd. De bibliotheken vind je in het VBA scherm onder <Extra>, <Verwijzingen>.
 
Michel,

Ik had dat idee ook al. Is het mogelijk om de access 2010 bibliotheken toe te voegen aan 2007 in de references. Ik had dit wel al gedaan met MS office 14.0 library, maar zonder resultaat dus.

is hiervoor een ander oplossing, zodat ik de gebruiker een keuze kan laten maken waar hij het bestand opslaat. Ik had wel al wat teruggevonden met een zogenaamde API o.i.d. maar dit was voor mij acadabra.

Vast bedankt voor je reactie.
 
je kunt beter andersom werken, dus de 2007 bibliotheek toevoegen aan de 2010 omgeving. Logischerwijs is een pakket zelden naar beneden compatibel, en meestal wel naar boven. En bij Microsof weten ze die regel tot in de perfectie uit te buiten ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan