Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel abspeichern

Frage Entwicklung VB for Applications

Mitglied: Cadsys-Chemnitz

Cadsys-Chemnitz (Level 1) - Jetzt verbinden

31.03.2009, aktualisiert 15:59 Uhr, 4650 Aufrufe, 12 Kommentare

Wenn ich mit meinem VB Scribt meine Excel Datei abspeichern will kommt immer die Nachfrage ober die Datei überschreiben soll weil diese schon vorhanden ist.

Wie kann ich diese Meldung unterdrücken? So das er speichert ohne Nahcfrage.

Mein Speichercode:

01.
 
02.
            NB.ActiveWorkbook.Saved = True 
03.
            NB.ActiveWorkbook.SaveAs("C:\Data\Version.xls") 
04.
            NB.ActiveWorkbook.Close() 
05.
 
Mitglied: 76109
31.03.2009 um 16:31 Uhr
Hallo Cadsys-Chemnitz,

Wenn Datei schon existiert, dann reicht ".Save" und wenn es nicht sicher ist, dann in etwa so:

01.
Dim fso as Object, vPath As String 
02.
     
03.
vPath = "C:\Data\Version.xls" 
04.
     
05.
Set Fso = CreateObject("Scripting.FileSystemObject") 
06.
 
07.
With NB.ActiveWorkbook 
08.
   If Fso.FileExists(vPath) Then .Save Else .SaveAs vPath 
09.
  .Close 
10.
  .Saved = True 
11.
 End With
Gruß Dieter
Bitte warten ..
Mitglied: Seelbreaker
31.03.2009 um 16:38 Uhr
Ich weiß es zwar, nicht aber aus Neugier... in Zeile 3 steht ja "SaveAs" So heißt ja auch der Speichern Button in Office, der dich vorher einen Pfad auswählen lässt bzw. dir die Möglichkeit gibt einen neuen Dateinamen anzugeben um beispielsweise ein Kopie zu speichern.

Würde:

NB.ActiveWorkbook.Save

auch zum Ziel führen? Oder gibt es Befehl "Save" so nicht wie bei Office wo gnadenlos überschrieben wird?

MFG
Seelbreaker
Bitte warten ..
Mitglied: Cadsys-Chemnitz
31.03.2009 um 16:44 Uhr
Idee ist nicht schlecht leider kommt die Meldung immer noch.

Detei bereits vorhanden. Soll diese überschrieben werden ...


Ich hab mal unten das ganze Script mit deinem Eingebauten Code mit aufgeführt.


01.
 
02.
        Dim NB As Excel.Application 
03.
        Dim z As Integer 
04.
        Dim verPath As String 
05.
        Dim fso As FileSystemObject 
06.
 
07.
        If Button1.Enabled = True Then 
08.
            NB = CreateObject("Excel.Application") 
09.
            NB.Workbooks.Open("C:\Data\Version.ini") 
10.
            z = NB.ActiveWorkbook.ActiveSheet.Range("C1").Value + 5 
11.
            NB.ActiveWorkbook.ActiveSheet.Range("E" & z).Value = TextBox1.Text 
12.
            NB.ActiveWorkbook.ActiveSheet.Range("F" & z).Value = TextBox2.Text 
13.
            NB.ActiveWorkbook.ActiveSheet.Range("B" & z).Value = TextBox3.Text 
14.
            NB.ActiveWorkbook.ActiveSheet.Range("C" & z).Value = TextBox4.Text 
15.
            If CheckBox1.CheckState = CheckState.Checked Then 
16.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "1" 
17.
            Else 
18.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "0" 
19.
            End If 
20.
 
21.
            verPath = "C:\Data\Version.ini" 
22.
            Fso = CreateObject("Scripting.FileSystemObject") 
23.
 
24.
            With NB.ActiveWorkbook 
25.
                .Saved = True 
26.
                If Fso.FolderExists(verPath) Then .Save() Else .SaveAs(verPath) 
27.
                .Close() 
28.
            End With 
29.
        End If 
30.
 
Bitte warten ..
Mitglied: Cadsys-Chemnitz
31.03.2009 um 16:48 Uhr
Doch save gibt es aber bei Beiden fragt er nach ob er überschreiben soll ...

übrigens das würde er im Office auch tun.



Ich schätze man muss irgendwie einen Parameter setzen das die nachfrage einfach ignoriert wird, weiss nur nicht wie.
Bitte warten ..
Mitglied: 76109
31.03.2009 um 16:48 Uhr
Hallo nochmal,

ja, habe Code nochmal geändert. Müsste so gehen?

Gruß Dieter
Bitte warten ..
Mitglied: 76109
31.03.2009 um 16:51 Uhr
Bitte warten ..
Mitglied: Cadsys-Chemnitz
31.03.2009 um 17:03 Uhr
Also hiernochmal mit Deinem abgeänderten Code.

Selbe Fehlermeldung ...

01.
 
02.
        Dim NB As Excel.Application 
03.
        Dim z As Integer 
04.
 
05.
        If Button1.Enabled = True Then 
06.
            NB = CreateObject("Excel.Application") 
07.
            NB.Workbooks.Open("C:\Data\Version.ini") 
08.
            z = NB.ActiveWorkbook.ActiveSheet.Range("C1").Value + 5 
09.
            NB.ActiveWorkbook.ActiveSheet.Range("E" & z).Value = TextBox1.Text 
10.
            NB.ActiveWorkbook.ActiveSheet.Range("F" & z).Value = TextBox2.Text 
11.
            NB.ActiveWorkbook.ActiveSheet.Range("B" & z).Value = TextBox3.Text 
12.
            NB.ActiveWorkbook.ActiveSheet.Range("C" & z).Value = TextBox4.Text 
13.
            If CheckBox1.CheckState = CheckState.Checked Then 
14.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "1" 
15.
            Else 
16.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "0" 
17.
            End If 
18.
 
19.
            Dim fso As Object, vPath As String 
20.
 
21.
            vPath = "C:\\Data\Version.ini" 
22.
 
23.
            fso = CreateObject("Scripting.FileSystemObject") 
24.
 
25.
            With NB.ActiveWorkbook 
26.
                If fso.FileExists(vPath) Then .Save() Else .SaveAs(vPath) 
27.
                .Close() 
28.
                .Saved = True 
29.
            End With 
30.
        End If 
31.
 
Bitte warten ..
Mitglied: 76109
31.03.2009 um 17:10 Uhr
Hallo,

Debuggerfehler oder Save-Fehler?

Die Klammern hinter Save, Close und Saved "..." gehören weg. Gibt sonst Debuggerfehler

Die Lösung von "Xerebus" mit Display.Alerts müsste aber auch funktionieren.

Allerdings glaube ich nicht, das Du die Datei als *.ini abspeichern kannst?

Gruß Dieter
Bitte warten ..
Mitglied: Xerebus
31.03.2009 um 17:18 Uhr
Um die Abfrage zum "Überschreiben" zu umgehen,
setze einfach DisplayAlerts = False


Sub Speichern()
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "..."
Application.DisplayAlerts = True
End Sub


Gefunden bei.
http://www.digital-inn.de/ms-excel/4834-speichern-per-macro-problem.htm ...
Bitte warten ..
Mitglied: Cadsys-Chemnitz
01.04.2009 um 08:25 Uhr
Danke erstmal an alle die mitgeholfen haben bei der Lösung, diese sieht jetzt folgendermaßen aus.

01.
 
02.
        Dim NB As Excel.Application 
03.
        Dim z As Integer 
04.
 
05.
        If Button1.Enabled = True Then 
06.
            NB = CreateObject("Excel.Application") 
07.
            NB.Workbooks.Open("C:\Data\Version.ini") 
08.
            z = NB.ActiveWorkbook.ActiveSheet.Range("C1").Value + 5 
09.
            NB.ActiveWorkbook.ActiveSheet.Range("E" & z).Value = TextBox1.Text 
10.
            NB.ActiveWorkbook.ActiveSheet.Range("F" & z).Value = TextBox2.Text 
11.
            NB.ActiveWorkbook.ActiveSheet.Range("B" & z).Value = TextBox3.Text 
12.
            NB.ActiveWorkbook.ActiveSheet.Range("C" & z).Value = TextBox4.Text 
13.
 
14.
            If CheckBox1.CheckState = CheckState.Checked Then 
15.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "1" 
16.
            Else 
17.
                NB.ActiveWorkbook.ActiveSheet.Range("D" & z).Value = "0" 
18.
            End If 
19.
 
20.
            NB.Application.DisplayAlerts = False 
21.
            NB.ActiveWorkbook.Saved = True 
22.
            NB.ActiveWorkbook.SaveAs("C:\Data\Version.ini") 
23.
            NB.ActiveWorkbook.Close() 
24.
            NB.Application.DisplayAlerts = True 
25.
        End If 
26.
 
So funktiert es wie ich es wollte und keine Fehlermeldung entsteht mehr.

Komischerweise nach einbau der Application.DisplayAlerts = False funktioniert diese Version nicht mehr.

01.
            Dim fso As Object, vPath As String 
02.
 
03.
            vPath = "C:\\Data\Version.ini" 
04.
 
05.
            fso = CreateObject("Scripting.FileSystemObject") 
06.
 
07.
            With NB.ActiveWorkbook 
08.
                If fso.FileExists(vPath) Then .Save() Else .SaveAs(vPath) 
09.
                .Close() 
10.
                .Saved = True 
11.
            End With
ist aber ja nicht weiter tragisch


Zu Didi 1954 :

01.
 
02.
Die Klammern hinter Save, Close und Saved "..." gehören weg. Gibt sonst Debuggerfehler 
03.
 
Negativ, die setzt er automatisch. Man kann Sie gar nicht wegmachen , wenn man es erzwingt geht das Programmm auch nicht mehr. Frag mich jetzt nicht warum.


Und besonderen Dank an Xerebus, dein Beitrag war das Puzzle was gefehlt hat.

Danke

MfG Tino
Bitte warten ..
Mitglied: Cadsys-Chemnitz
01.04.2009 um 08:27 Uhr
PS:

Ach und natürlich kann man Sie als .ini speichern das ist Excel egal. Hab in der Datei Passwörter liegen und wollte das nicht so offensichtlich machen.

Ausserdem kann ich die Excel-Datei dann auch mit Passwort sichern sodas niemand so einfach an die Passwörter kommt und ich aber gut damit arbeiten kann.
Bitte warten ..
Mitglied: 76109
01.04.2009 um 09:06 Uhr
Hallo Cadsys-Chemnitz,

manchmal sieht man vor lauter Wald die Bäume nicht.

Der Fehler ist, dass der Close-Befehl natürlich erst nach dem
Saved = True stehen muss, sonst macht Saved keinen Sinn.
Display.Alerts wird nicht gebraucht

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bestehende Excel Datei mit PowerShell bearbeiten und als csv Datei abspeichern
Frage von BleibtgeheimBatch & Shell1 Kommentar

Hallo zusammen, es dreht sich um folgendes. Für eine Anwendung, welche ich betreue muss jedesmal wenn ein neuer User ...

Drucker und Scanner
Eingescanntes auf dem Server abspeichern
gelöst Frage von 4ndr01dDrucker und Scanner2 Kommentare

Hallo zusammen, ich stehe vor folgendem Problem: Ich soll dafür sorgen, dass unser Netzwerkscanner (Avision 6600) Eingescanntes auf dem ...

VB for Applications
CSV Datei automatisch bearbeiten und abspeichern
gelöst Frage von klaus1985VB for Applications6 Kommentare

Hallo , Ich habe hier jeden Monat eine CSV Datei die in unserem ERP System generiert wird und von ...

Windows Tools
Powershell mehrere Einträge in einer ini abspeichern
gelöst Frage von H41mSh1C0RWindows Tools3 Kommentare

Hi PS Guru's, Quelle: <Marker>_<Datum>_<OS> Ich bekomme das Quellverzeichnis ausgelesen und bekomme auch das Datagrid gefüllt. Jetzt versuche ich ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 TagenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...