Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro einzeln laufen, zusammen nicht????

Makro einzeln laufen, zusammen nicht????
08.11.2003 19:12:58
Sascha
Hallo,

hab hier zwei Makro die einzeln wunderbar funktionieren. Nur zusammen leider
nicht.

1. Word

Beim Start des Dokuments s_brief.doc wird ein Serienbrief erzeugt,
ausgedruckt, Word beendet. Die Daten zum Serienbrief erhält Word aus einer
2.xls

2. Excel

Aufruf einer Worddatei mittels Makro. Auch das Funktioniert einwandfrei.

Wenn ich aber nun aus 1.xls mittels Makro s_brief.doc mit ebenfalls Makro
(Daten aus 2.xls) aufrufe, passiert folgendes.

Word wird gestartet. Dann passiert erstmal garnichts. In der Statusleiste
steht: "Microsoft Excel wird gestartet". Nach ca 1min fragt Word: "Dieser
Vorgang dauert länger als vorgesehen. Soll er trotzdem fortgesetzt werden?
Ja/Nein" Bei Nein wird meine Word-Datei gestartet, Makro ausgeführt und
wieder geschlossen.

Wie kann ich diese Abfrage verhindern??? Auf was wartet Word???

Makro Excel: 1.xls
------------------------
Option Explicit
Private Declare

Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As
String, ByVal lpDirectory As String, _
ByVal lpnShowCmd As Long) As Long
Public 

Sub WordMakroStarten()
Dim intIndex As Integer
With Application.FileSearch
.FileType = msoFileTypeWordDocuments
.LookIn = ThisWorkbook.Path
If .Execute > 0 Then
For intIndex = 1 To .FoundFiles.Count
ShellExecute 0, "open", Right(.FoundFiles(intIndex),
InStr(1, StrReverse(.FoundFiles(intIndex)), "\") - 1), "", ThisWorkbook.Path
& "\", 3
Next
End If
End With
End Sub

------------------------
Makro Word: s_brief.doc -> steht im Autostart
------------------------

Sub S_Druck()
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
ActiveDocument.PrintOut Background:=False
Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub


Danke für die Hilfe

Mfg
Sascha Drömer

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Makrosicherheit
08.11.2003 21:25:43
Ramses
Hallo Sascha

vermutlich hängt sich das Makro auf, weil EXCEL die Datei öffnet in der ein Makro drin ist, und beim öffnen auf die Benutzereingabe wartet, ob die Makros aktiviert werden sollen oder nicht.

Lösung:
Erstelle dir ein Zertifikat ( siehe EXCEL Hilfe ) und aktiviere beim öffnen der Datei die Abfrage "Soll diesem Zertifikat vertraut werden" die Option "Diesem Zertifikat immer vertrauen".

Dann sollte es gehen.

Gruss Rainer
AW: Makrosicherheit -> Leider nicht
08.11.2003 21:55:25
Sascha
Hallo,

besten Dank !!!

aber das wars leider nicht. Alle 3 Dateien sind zertifiziert.

Hat jemand noch eine andere Idee???

Danke trotzdem

Gruß Sascha
Anzeige
Probier mal...
08.11.2003 22:13:16
Ramses
Hallo Sascha,

Dim FFile As String

For intIndex = 1 To .FoundFiles.Count
FFile = .FoundFiles(intIndex)
Debug.Print FFile

ShellExecute 0, "open", Right(.FoundFiles(intIndex),
InStr(1, StrReverse(.FoundFiles(intIndex)), "\") - 1), "", ThisWorkbook.Path
& "\", 3
.....

Damit solltest du zumindest die Datei rauskriegen bei der das Makro hängt.
Denn offensichtlich läuft dein Makro ja nach der Beantwortung der MsgBox.

Ist es vielleicht die Datei die du gerade in EXCEL geöffnet hast ?

Gruss Rainer
AW: Probier mal...
08.11.2003 22:22:43
Sascha
Hallo,

danke für Deine Hilfe.

Wo soll ich Deine Zeilen einfügen? Am Anfag oder am Ende des Excel-Code oder Word-Code?

Verstehe den Code leider nicht.

Mfg

Sascha
Anzeige
Versteh ich nicht....
08.11.2003 22:52:50
Ramses
Hallo

du gibst EXCEL Gut - VBA Gut an, hast ein komplexes Makro und verstehst nicht was ich da schreibe ?
Das ist doch wohl eindeutig genug, wo der Code hin soll.
Die Code Sequenz hast du doch nur einmal

Gruss Rainer
AW: Versteh ich nicht....
08.11.2003 23:05:04
Sascha
Hallo,

erstmal großes Dankeschön das Du Dich meines Problems annimmst.

Excel/VBA Gut ist sicher übertrieben aber keine oder nur mit Makrorecorder ist sicherlich auch nicht die richtige Beschreibung meines Wissensstandes.

Beschäftige mich jetz seit ca. 4 Wochen mit VBA und habe ´ne Menge Information aus dem Internet mir angelesen bzw. aus Newgroups bekommen.

Was allerdings nicht bedeutet das ich jeden Code verstehe auch wenn er funktioniert. Ich versuche natürlich, wenn ich Informationen bekommen die auch zu verstehen.

Hoffe das mir dennoch weiterhin hilfst.

Grüße

Sascha
Anzeige
Du musst nur...
08.11.2003 23:12:10
Ramses
Hallo

den fett geschriebenen Code in dein erstes Makro an die entsprechende Stelle kopieren.
Das sollte mit etwas lesen zu schaffen sein.
Im Direktfenster wird derjenige Dateiname dann angezeigt, der das Problem verursacht.
Du machst da ja eine ganze Menge an Dateien auf.

Es wäre besser, wenn du sowas vorher sagst. Aus dem Code lese ich nämlich, dass derjenige grosse Erfahrung hat, sonst würde er keine API - Funktionen einsetzen.

Es wird also schwierig sein, das Problem so zu lösen.

Gruss Rainer
AW: Du musst nur...
08.11.2003 23:19:56
Sascha
Hallo,

>Das sollte mit etwas lesen zu schaffen sein.

Da hast Du natürlich Recht !!! Das hätte ich auch ohne Nachfragen hinbekommen sollen. Sorry.

Hab das jetzt mal gemacht. Code eingefügt, Direktfenster geöfnet und Makro gestartet. Bekomme dann Kmpilierungsfehler. Markierung "FFile ="

Gruß
Sascha
Anzeige
Das funktioniert schon...
08.11.2003 23:26:05
Ramses
Hallo

Option Explicit

Private Declare

Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As _
String, ByVal lpDirectory As String, ByVal lpnShowCmd As Long) As Long
Public 

Sub WordMakroStarten()
Dim FFile As String
Dim intIndex As Integer
With Application.FileSearch
.FileType = msoFileTypeWordDocuments
.LookIn = ThisWorkbook.Path
If .Execute > 0 Then
For intIndex = 1 To .FoundFiles.Count
FFile = .FoundFiles(intIndex)
Debug.Print FFile
ShellExecute 0, "open", Right(.FoundFiles(intIndex), _
InStr(1, StrReverse(.FoundFiles(intIndex)), "\") - 1), "", ThisWorkbook.Path & "\", 3
Next
End If
End With
End Sub


Bei mir läuft das Makro ohne Probleme.
Aber jetzt werde ich mich erstmal ins Bett abmelden.

Gute Nacht.

Gruss Rainer
Anzeige
die 2.xls ist Schuld
09.11.2003 12:25:46
Sascha
Hallo,

das problem ist die Datei aus der Word die Daten für den Serienbrief nimmt.

Wenn ich das ganze als *.csv mache läuft alles.

Werd mal schauen wie ich jetzt einen Zellbereich aus 1.xls in 2.csv exportiere.

Danke

Grüße

Sascha
Merci für's Feedback :-) o.T.
09.11.2003 13:54:38
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige