Wie ändern Sie code für Excel 2007 verwenden SaveAs
Ich habe ein excel-template mit einem makro zum speichern der Datei, so dass der Anwender über standardisierte Dateinamen-Formate. Erstellt habe ich den code mit Excel 2003. der code ist wie folgt:
Sub SaveBook()
Dim sFile As String
sFile = "ConsolidatedDemand" & "_" & Format(Now(), "yyyy.mm.dd") & ".xls"
ActiveWorkbook.SaveAs Filename:= "\\file location\" & sFile
End Sub
Habe ich einen Benutzer, der mit Excel 2007. Wenn Sie versuchen, das makro ausgeführt, Sie erhalten eine Fehlermeldung:
"Die folgenden features können nicht gespeichert werden, in makro-frei-Arbeitsmappen: VB-Projekt.
Zum speichern einer Datei mit diesen features klicken Sie auf Nein und wählen Sie dann die Makros aktiviert wurden, wird der Dateityp in der Liste Dateityp. Weiterhin speichern als makro-Kostenlose Arbeitsmappe, klicken Sie auf "ja"
Ich habe versucht, chaing die Datei-Erweiterung ".xlsm" in der zweiten Zeile des Codes, aber das ergab die gleiche Fehlermeldung. Irgendwelche anderen Ideen, wie kann ich diesen code ändern, so dass es für Excel 2007-Benutzer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
(entnommen aus: http://blogs.office.com/b/microsoft-excel/archive/2009/07/07/use-the-vba-saveas-method-in-excel-2007.aspx)
In Excel 2007, die SaveAs-Methode erfordert, dass Sie sowohl den parameter FileFormat und die richtige Datei-Erweiterung.
Zum Beispiel in Excel 2007 diese Codezeile wird fehlschlagen, wenn das ActiveWorkbook nicht ein .xlsm Datei:
Aber dieser code funktioniert immer:
Diese sind die wichtigsten Dateiformate, die in Excel 2007:
.xlsm)
makro ' s, .xlsb)
Nur incase Sie nicht wissen,, Sie können überprüfen, welche version der Anwendung ist in dem makro, so können Sie bestimmen, ob es gespeichert werden soll, wie "xls" oder "xlsm"
Hoffe, das hilft.