SaveAs werkt niet

Status
Niet open voor verdere reacties.

greatmaze

Gebruiker
Lid geworden
20 nov 2014
Berichten
26
Hallo allemaal,
De onderstaande macro werkt prima, behalve in het ELSE gedeelte bij het SaveAs gaat het fout.
Ik krijg een run time error 438
Object doesn't support this property or method

Ik heb geen idee hoe ik het dan wel zou moeten oplossen.
De macro kijkt of de file al bestaat, zo niet dan een nieuwe file maken, waarden er in zetten en dan een SaveAs de nieuwe naam.

Alvast bedankt.

Code:
Sub aaaSaveDocument()
Set oTable = ActiveDocument.Tables(15)
strString = oTable.Rows.Item(1).Cells(1).Range
myFileName = Left(strString, Len(strString) - 2)
myPath = ActiveDocument.FullName

FolderPath = Left(myPath, InStrRev(myPath, "\"))
OldName = Right(myPath, Len(myPath) - InStrRev(myPath, "\"))

SaveExt = "." & Right(myPath, Len(myPath) - InStrRev(myPath, "."))
NewName = FolderPath & myFileName & SaveExt
r = 1

'De waarde uit de eerste Cell van de WORDtable wordt gelezen
strString = oTable.Rows.Item(1).Cells(1).Range
'De check of de cell leeg is
If Strings.Len(strString) > 2 Then
    strString = Left(strString, Len(strString) - 1)
    strUserID = Right(Environ("userprofile"), Len(Environ("userprofile")) - InStrRev(Environ("userprofile"), "\"))
    ExcelName = "SBV-" & strUserID & ".xlsx"
    Set xlsApp = CreateObject("Excel.Application")
    xlsApp.Visible = True
    File = FolderPath & ExcelName
    
    'Als de Excel file al bestaat dan die openen
    If FileFolderExists(File) Then
        Set wb = xlsApp.Workbooks.Open(File)
        Set ws = wb.Sheets(1)
        curRowValue = wb.Worksheets(1).Range("A" & r).Value

        Do While curRowValue <> ""
            curRowValue = wb.Worksheets(1).Range("A" & r).Value
            If curRowValue <> "" Then r = r + 1
        Loop
        wb.Worksheets(1).Range("A" & r).Value = strString
        dtmDate = Now
        wb.Worksheets(1).Range("B" & r).Value = dtmDate
        wb.Worksheets(1).Range("C" & r).Value = strUserID
        strUserName = Application.UserName
        wb.Worksheets(1).Range("D" & r).Value = strUserName

    wb.Close savechanges:=True
    'Als de Excel file nog NIET bestaat dan een nieuwe openen
    Else
        Set wb = xlsApp.Workbooks.Add
        Set ws = wb.Sheets(1)
        curRowValue = wb.Worksheets(1).Range("A" & r).Value
            Do While curRowValue <> ""
                curRowValue = wb.Worksheets(1).Range("A" & r).Value
                If curRowValue <> "" Then r = r + 1
            Loop
            wb.Worksheets(1).Range("A" & r).Value = strString
            dtmDate = Now
            wb.Worksheets(1).Range("B" & r).Value = dtmDate
            wb.Worksheets(1).Range("C" & r).Value = strUserID
            strUserName = Application.UserName
            wb.Worksheets(1).Range("D" & r).Value = strUserName

        xlsApp.SaveAs FileName:=File
    End If
End If
xlsApp.Quit

Set wb     = Nothing
Set xlsApp = Nothing

End Sub
 
Maak er eens dit van:
wb.SaveAs FileName:=File
 
Hi Edmoor,

Thx voor je snelle antwoord.
Het werkt :)
Geen idee waarom ik dat niet geprobeerd heb.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan