• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Variabelen gaan verloren in application.run

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
864
In een bestand gebruik ik onderstaande code. De variabelen FN en EXT definiëer ik op voorhand, deze zijn ook opgenomen in de macro "SAP_bestand_openen" die aangeroepen wordt via Apllication.Run. Maar wanneer ik de macro uitvoer dan stel ik vast dat de inhoud van de variabelen blanco is wanneer de macro wordt uitgevoerd. Kan ik dit oplossen?

Code:
Sub sap_molen_merksem_week()
    FN = "AMSW"                                       ' FileName
    EXT = ".XLS"                                        ' EXTensie
 
    Application.Run "SAP_bestand_openen"

 End Sub
 
zonder de macro waar het om gaat erbij te plaatsen ?

waarom start je de macro niet 'gewoon' ?
 
Die variabelen bestaan alleen binnen de Sub sap_molen_merksem_week. Declareer de variabelen en doe dat buiten de Sub in een Module:
Code:
Dim FN As String
Dim EXT As String

Sub sap_molen_merksem_week()
    FN = "AMSW"                                       ' FileName
    EXT = ".XLS"                                        ' EXTensie
 
    Application.Run "SAP_bestand_openen"

 End Sub
 
Ik start hem niet gewoon omdat deze macro ongeveer 30 keer wordt opgeroepen met andere bestanden. Ik dacht daarom de code in te korten door telkens de variabele bestandsnaam op te geven en daarna de code uit te voeren.

Code:
Sub SAP_bestand_openen()

    Workbooks.OpenText Filename:="C:\data\sap\" & FN & "_1" & EXT, Origin:=xlMSDOS, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
        Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array( _
        16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1)), TrailingMinusNumbers _
        :=True
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("G:IV").Select

    Selection.NumberFormat = "0.000"
    Range("A1").Select
    ActiveWorkbook.SaveAs Filename:="C:\data\sap\" & FN & "_1" & EXT, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False

    Workbooks.Open Filename:="C:\data\sap\" & FN & "_2" & EXT
    Workbooks(FN & "_2" & EXT).Activate
    Cells.Copy
    Range("A1").PasteSpecial xlPasteValues

    Range("A1").Select
    Workbooks(FN & "_2" & EXT).SaveAs "C:\data\sap\" & NFN
    Workbooks(FN & "_1" & EXT).Close False
    Application.DisplayAlerts = True

End Sub
 
Laatst bewerkt:
Daar zijn helemaal geen variabelen voor nodig:

Code:
Sub sap_molen_merksem_week()
    Call SAP_bestand_openen("AMSW", ".XLS")
End Sub

Sub SAP_bestand_openen(FN As String, EXT as String)
.
.
End Sub
 
Laatst bewerkt:
Roep je een .xls bestand op met Workbooks.opentext ??
 
@snb

Ja, het bestand wordt vanuit SAP geëxporteerd als een tekstbestand met de extensie .xls. Gevolg is dat vele zaken als tekst gedefinieerd zijn en niet als getal :(
 
wat is dan het resultaat van

Code:
 workbooks.open "C:\data\sap\AMSW_1.xls"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan