Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kombination BeforeClose mit Serverskript

Kombination BeforeClose mit Serverskript
13.12.2017 10:04:31
Roitzsch
Guten Morgen,
ich habe mir von unserer IT einen Serverdienst (Skript) einrichten lassen, der nachts eine Exceldatei öffnet und schließt. In der Datei ist ein Makro enthalten, welches über BeforeClose ausgeführt wird und zusammen mit dem Serverskript automatisch startet.
Das Makro liest die Datei aus und erstellt mir Textdateien, welche ich täglich benötige (deshalb das Serverdskript). Ich würde gerne mit eurer Hilfe zwei Dinge versuchen zu klären:
1. Aktuelles Problem mit dem Makro/Serverdienst:
Workbook.Save wird nicht ausgeführt, wenn das Makro durch den Serverdienst ausgeführt wird. Wenn ich das Makro manuell starte oder die Datei selbst öffne und schließe funktioniert es.
2. Könnt ihr mir sagen, was allgemein zu Fehlern bei der Kombination Excelmakro und Serverskript führen kann? Zum Beispiel hängt sich das Skript immer auf, wenn ein Blatt- oder Arbeitsmappenschutz auf der Datei liegt. Gibt es generelle Dinge die ich beachten muss, wenn ich ein Makro über ein Serverskript ausführen lassen möchte?
Hier mal der Code

Private Sub WriteUpload()
Dim mrow As Long
Dim arr As Excel.Range
Dim file    As Variant
Dim makeFile As String
Dim name As String
Dim wrString As String
Dim trz As String
ActiveWorkbook.Save
trz = ";"
'aktuelle Freigabe
makeFile = "\\Verzeichnis\123.csv"
Set file = CreateObject("Scripting.FileSystemObject").CreateTextFile(makeFile, True, False)
wrString = "Version" & trz & "BAF" & trz & "" & trz & "Vorplan"    file.WriteLine wrString
wrString = "Periode" & trz & "1" & trz & "bis" & trz & "12"
file.WriteLine wrString
wrString = "Geschäftsjahr" & trz & Range("A2") & trz & "" & trz & ""
file.WriteLine wrString
wrString = "PSP Element" & trz & "Kostenart" & trz & "Planwerte" & trz & "VS"
file.WriteLine wrString
wrString = ""
With ActiveSheet
Set arr = .Range(.[A1], .UsedRange.Cells(.UsedRange.Cells.Count))
For mrow = 2 To arr.Rows.Count
wrString = ""
wrString = arr.Cells(mrow, 5).Value & trz & arr.Cells(mrow, 4).Value &
trz & Round(arr.Cells(mrow, 20).Value, 2) & trz & "2"
file.WriteLine wrString
Next
End With
file.Close
'Prognose
makeFile = "\\Verzeichnis\123.csv"
Set file = CreateObject("Scripting.FileSystemObject").CreateTextFile(makeFile, True, False)
wrString = "Version" & trz & "VPT" & trz & "" & trz & "Vorplan"    file.WriteLine wrString
wrString = "Periode" & trz & "1" & trz & "bis" & trz & "12"
file.WriteLine wrString
wrString = "Geschäftsjahr" & trz & Range("A2") & trz & "" & trz & ""
file.WriteLine wrString
wrString = "PSP Element" & trz & "Kostenart" & trz & "Planwerte" & trz & "VS"
file.WriteLine wrString
wrString = ""
With ActiveSheet
Set arr = .Range(.[A1], .UsedRange.Cells(.UsedRange.Cells.Count))
For mrow = 2 To arr.Rows.Count
wrString = ""
wrString = arr.Cells(mrow, 5).Value & trz & arr.Cells(mrow, 4).Value &
trz & Round(arr.Cells(mrow, 21).Value, 2) & trz & "2"
file.WriteLine wrString
Next
End With
file.Close
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
WriteUpload
End Sub
Ich hoffe ihr könnt mir helfen, auch wenn das Thema nicht ausschließlich Excel betrifft. Vielen Dank schon mal vorab!
BG Dennis

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Doppelt - owT
13.12.2017 10:05:07
Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige