Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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

Exel immer im neuen Fenster öffnen mit VBA Script

Exel immer im neuen Fenster öffnen mit VBA Script
24.07.2008 12:20:46
ove
Hallo zusammen.
bei Excel 2007 lässt es sich leider nicth verwirklichen, dass eine neue Excel Datei sich immer in einem neuen Fenster öffnet.
Deswegen möchte ich nun ein Script erstellen, was beim Doppelklick fragt, ob die Datei im bereitsbestehen Excel Fenster angezeigt werden soll oder in einer neuen Instanz geöffnet werden soll.
Wo muss ich da ansetzen? bzw. kann ich das so verwirklichen?
Gruß
Ove

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exel immer im neuen Fenster öffnen mit VBA Script
24.07.2008 12:27:00
Rudi
Hallo,

nun ein Script erstellen, was beim Doppelklick fragt,


Im Explorer? Das geht nicht per VBA, da dies eine Explorer-Funktion ist.
Immer neue Instanzen fressen extrrem viel Speicherplatz.
Gruß
Rudi

AW: Exel immer im neuen Fenster öffnen mit VBA Script
24.07.2008 13:17:30
ove
also beim öffnen der datei, soll eine abfrage erscheinen:
- in vorhandener instanz öffnen?
- in neuer instanz öffnen?
und das halt als VBA Script.
das Speicherproblem ist egal - hauptsache das funktioniert. 4gb werden wohl reichen ;-)

AW: Exel immer im neuen Fenster öffnen mit VBA Script
24.07.2008 14:21:06
Tino
Hallo,
habe Dir mal etwas zusammengestellt.
In DieseArbeitsmappe als Code

Option Explicit
Private Sub Workbook_Open()
Dim sPfad As String
If Workbooks.Count > 1 Then
If MsgBox("Soll diese Datei in einer neuen Instants geöffnet werden?", vbYesNo, "Neue  _
Instants?") = vbYes Then
Call ErstelleScrippt
ThisWorkbook.Close False
End If
End If
sPfad = ThisWorkbook.Path
If Right(sPfad, 1)  "\" Then sPfad = sPfad & "\"
If Dir$(sPfad & "vbsTemp.vbs", vbNormal)  "" Then Kill sPfad & "vbsTemp.vbs"
End Sub
Sub ErstelleScrippt()
Dim F As Integer
Dim sFilename As String, sPfad As String
Dim vbsText As String
sPfad = ThisWorkbook.Path
If Right(sPfad, 1)  "\" Then sPfad = sPfad & "\"
sFilename = sPfad & "vbsTemp.vbs"
If Dir$(sFilename, vbNormal)  "" Then Kill sFilename
vbsText = "Set wshell = CreateObject(""Wscript.shell"")" & vbCrLf & _
"WScript.Sleep 500" & vbCrLf & _
"wshell.Run (""EXCEL.EXE """"" & ThisWorkbook.FullName & """"""")"
F = FreeFile
Open sFilename For Append As #F
Print #F, vbsText
Close #F
Call ShellExecute(0, "open", sFilename, "", "", 6)
End Sub


In ein Modul als Code.


Option Explicit
Public 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 nshowcmd As Long) As Long


Im Test hat es Funktioniert.
Es könnte aber sein, dass diese Datei geöffnet wird bevor die andere geschlossen wurde, dann wäre
die neu geöffnete natürlich schreibgeschützt.
Sollte dies vorkommen, musst du im Script die Pausenzeit höher stellen
"WScript.Sleep 500" = 500 Millisekunde
Gruß Tino

www.VBA-Excel.de


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige