Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden

Diskutiere und helfe bei Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden im Bereich Microsoft Office im Windows Info bei einer Lösung; Schönen Guten Tag, Folgende Situation: Ich habe ein Excel Dokument welches beim Start 2 Vorlagen Kopiert 1xPower Point 1xExcel einen neuen Ordner... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Aurich, 30. März 2022.

  1. Aurich
    Aurich Gast

    Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden


    Schönen Guten Tag, Folgende Situation: Ich habe ein Excel Dokument welches beim Start 2 Vorlagen Kopiert 1xPower Point 1xExcel einen neuen Ordner erstellt, die Kopierten Daten dort ablegt, diese beiden Öffnet, noch eine Reihe anderer Dinge Tut und sich dann selber wieder Schließt. Die Datei Funktioniert Praktisch nur als AutoCopy + AutoStart damit die Leute die damit Arbeiten 1. nix Kaputt machen und 2. sich um nix weiteres Kümmern müssen. Ich möchte das nun so Steuern das die Beiden Dateien, auf Unterschiedlichen Bildschirmen angezeigt und Maximiert werden. Wir arbeiten mit 2 Bildschirmen u
     
  2. Andreas Killer Win User

    Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden

    werden. Wir arbeiten mit 2 Bildschirmen und es wäre cool wenn das irgendwie geht.
    Irgendwie geht das schon... allerdings "nur dafür" die Datei mit Tonnen von Windows-API vollzustopfen... lass es lieber.
    <br />Es gibt Tools wie Actual Window Manager, die können das und noch viel mehr.
    <br />Wenn Du das selber programmieren willst ... fang mal an und ermittele mal alle Monitore in einem System
    <br />EnumDisplayMonitors
    <br />Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type
    <br />Private Const MONITORINFOF_PRIMARY = &H1
    Private Const MONITOR_DEFAULTTONEAREST = &H2
    Private Const MONITOR_DEFAULTTONULL = &H0
    Private Const MONITOR_DEFAULTTOPRIMARY = &H1
    Private Type MONITORINFO
    cbSize As Long
    rcMonitor As RECT
    rcWork As RECT
    dwFlags As Long
    End Type
    #If Win64 Then
    Private Declare PtrSafe Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" ( _
    ByVal hMonitor As LongPtr, ByRef lpmi As MONITORINFO) As LongPtr
    Private Declare PtrSafe Function MonitorFromPoint Lib "user32.dll" (ByVal x As Long, ByVal y As Long, ByVal dwFlags As Long) As LongPtr
    Private Declare PtrSafe Function MonitorFromRect Lib "user32.dll" (ByRef lprc As RECT, ByVal dwFlags As Long) As LongPtr
    Private Declare PtrSafe Function MonitorFromWindow Lib "user32.dll" (ByVal hwnd As LongPtr, ByVal dwFlags As Long) As LongPtr
    Private Declare PtrSafe Function EnumDisplayMonitors Lib "user32.dll" (ByVal hDC As LongPtr, ByRef lprcClip As Any, ByVal lpfnEnum As LongPtr, ByVal dwData As Long) As LongPtr
    #Else
    Private Declare Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" (ByVal hMonitor As Long, ByRef lpmi As MONITORINFO) As Long
    Private Declare Function MonitorFromPoint Lib "user32.dll" (ByVal x As Long, ByVal y As Long, ByVal dwFlags As Long) As Long
    Private Declare Function MonitorFromRect Lib "user32.dll" (ByRef lprc As RECT, ByVal dwFlags As Long) As Long
    Private Declare Function MonitorFromWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal dwFlags As Long) As Long
    Private Declare Function EnumDisplayMonitors Lib "user32.dll" (ByVal hDC As Long, ByRef lprcClip As Any, ByVal lpfnEnum As Long, ByVal dwData As Long) As Long
    #End If
    <br />Private mMonitor As Collection
    <br />#If Win64 Then
    Private Function MonitorEnumProc(ByVal hMonitor As LongPtr, ByVal hdcMonitor As LongPtr, lprcMonitor As RECT, ByVal dwData As Long) As Long
    #Else
    Private Function MonitorEnumProc(ByVal hMonitor As Long, ByVal hdcMonitor As Long, lprcMonitor As RECT, ByVal dwData As Long) As Long
    #End If
    mMonitor.Add hMonitor
    'Continue enumeration
    MonitorEnumProc = 1
    End Function
    <br />Sub Main
    <br /> Set mMonitor = New Collection
    EnumDisplayMonitors ByVal 0&, ByVal 0&, AddressOf MonitorEnumProc, ByVal 0&
    <br />End Sub
    <br />Bist Du noch da?
    <br />Dann brauchen wir nochwas um das Fenster zu verschieben.
    <br />Private Enum SetWindowPosFlags
    SWP_ASYNCWINDOWPOS = &H4000
    SWP_DEFERERASE = &H2000
    SWP_FRAMECHANGED = &H20
    SWP_DRAWFRAME = SWP_FRAMECHANGED
    SWP_HIDEWINDOW = &H80
    SWP_NOACTIVATE = &H10
    SWP_NOCOPYBITS = &H100
    SWP_NOMOVE = &H2
    SWP_NOOWNERZORDER = &H200
    SWP_NOREDRAW = &H8
    SWP_NOREPOSITION = SWP_NOOWNERZORDER
    SWP_NOSENDCHANGING = &H400
    SWP_NOSIZE = &H1
    SWP_NOZORDER = &H4
    SWP_SHOWWINDOW = &H40
    End Enum

    Private Enum SpecialWindowHandles
    HWND_TOP = 0
    HWND_BOTTOM = 1
    HWND_TOPMOST = -1
    HWND_NOTOPMOST = -2
    End Enum

    #If Win64 Then
    Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    #Else
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    #End If

    Private Const SW_SHOWNORMAL = 1
    Private Const SW_HIDE = 0
    Private Const SW_NORMAL = 1
    Private Const SW_SHOWMINIMIZED = 2
    Private Const SW_SHOWMAXIMIZED = 3
    Private Const SW_MAXIMIZE = 3
    Private Const SW_SHOWNOACTIVATE = 4
    Private Const SW_SHOW = 5
    Private Const SW_MINIMIZE = 6
    Private Const SW_SHOWMINNOACTIVE = 7
    Private Const SW_SHOWNA = 8
    Private Const SW_RESTORE = 9
    Private Const SW_SHOWDEFAULT = 10
    Private Const SW_MAX = 10
    <br />Immer noch da? Okay :)
    <br />Da wir ein Handle übergeben müssen, müssen wir das vom Fenster holen. Netterweise gibt es mittlerweile ein hWnd in dem Window-Objekt in Excel.
    <br />Also beim Start musst Du warten bis das Fenster erscheint, dann liefert Dir das Window-Objekt das Handle und mit dem kannst Du dann via SetWindowPos das Fenster and die richtigen Koordianten schieben die Du vorher mit EnumDisplayMonitors ermittelt hast und jetzt ja weißt welcher Bildschirm welche Koordianten hat.
    <br />So irgendwie geht das. ;-) Thema erledigt?
    <br />Andreas.
    <br />
  3. Andreas Killer Win User

    Lesezugriff auf eine externe Tabelle per VBA

    Der Inhalt dieses Sheets soll nun in eine separate Datei ausgelagert werden, also z.B. in [Pfad:\]Test.xlsx mit dem Sheet 'Quelle'
    Ideal wäre, wenn die Datei nur ausgelesen und nicht sichtbar geöffnet würde.
    Keine Chance, die Datei muss vorher geöffnet werden.

    Dann kannst Du die Referenz mittels der Workbooks collection erweitern:

    with Workbooks("Datei.xlsx").Sheets("Tabelle2")

    bzw. wenn das Öffnen mit VBA passieren soll:

    Dim Wb As Workbook

    Set Wb = Workbooks.Open("C:\Whatever\Datei.xlsx")

    with Wb.Sheets("Tabelle2")

    Wenn 2 Dateien geöffnet sind können beide Blätter enthalten die gleiche Namen haben, daher referenziere auch

    With ThisWorkbook.Sheets("Tabelle1")

    um sicherzustellen das die Daten auch da landen wo sie sollen.

    Wenn das alles funktioniert, dann kannst Du zum Schluß via Application.ScreenUpdating = False den Bildschirm ausschalten, dann läuft das ganze "unsichtbar".

    Andreas.
  4. Eisbergle Win User

    Excel 2010 Projektexplorer

    Die komplette Excel-Datei IST GESCHLOSSEN, dass alle geöffneten Mappen angezeigt werden ist ja auch in Ordnung.

    1. datei1.xlsm öffnen

    2. VBA-Editor öffnen, datei1 wird angezeigt ... OK

    3. Datei2.xlsm öffnen

    4. zu VBA-Editor wechseln, datei1 und Datei2 werden angezeigt ... OK

    5. Datei2.xlsm komplett schließen

    6. Zu VBA-Editor wechseln, datei1 und Datei2 werden angezeigt ... NICHT OK

    besonders lustig ist es wenn datei1 immer offen bleiben soll, und dann ca. 20 weitere excel-Dateien geöffnet und jeweils wieder geschlossen werden. Obwohl nur noch eine Datei geöffnet ist, werden alle 21 angezeigt. Das kommt z.b. vor, wenn datei1 als
    Muster für Änderungen an x Dateien verwendet wird.
  5. Kenntdawer Win User

    Vordefinierte Diagramme und Tabellen

    Hallo Claus,

    vielen lieben Dank:)))

    Nur damit ich das richtig verstehe...ich lege also eine Vorlage an, ähnlich wie PPT Unternehmensvorlagen und dort habe ich verschiedene Diagramme definiert. Kuchendiagramm, Säulendiagramm, Liniendiagramm...Tabellen. Und der Redakteur zieht eine Kopie und
    kann die Werte austauschen.

    Die Farben an sich, kann ich definieren, als Vorlage, in dem ich eine Standardvorlage ersetze. Zumindest habe ich das gegoogelt. Aber wenn die relative Bezüge haben sollen und sich die Farben dynamisch anpassen sollen bei bestimmten Werten, dann muss ich
    VBA verwenden? Und auch, damit ich ein JPG generieren kann, um das Diagramm dann in meine Website einbetten zu können. Korrekt?

    VBA ist eine Skriptsprache. Das heißt...ich programmiere damit bestimmte Funktionalitäten oder Ausgabenformate in der Excel Datei...aber der Redakteur braucht VBA nicht auf seinem Rechner, Oder?

    Kann ich denn mit Excel auch neben dem Kuchendiagramm auch einen Textblock integrieren, der flexibel befüllbar ist? Und die Position der Headline und Subline festlegen sowie Bulletpoints? Und das Gesamtpaket wird mir dann als JPG generiert?

    Danke für die schnelle Antwort Claus. Du rettest mich gerade;)

    VG
    Anna
  6. Thomas Löwe Win User

    OSPPREARM.EXE funktioniert nicht mehr

    Hallo Benno,

    vielen Dank für deine Nachriht.

    Bitte starte Microsoft Word und gehe unter "Datei" zum Eintrag "Konto". Welche Versionsangabe wird auf der rechten Seite angezeigt?

    Wo wurde die Konvertierung der PDF-Datei durchgeführt?

    In welchem Programm sollen PDF-Dateien geöffnet werden?
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden - Microsoft Office

Die Seite wird geladen...

Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden - Similar Threads - Dateien VBA Geöffnet

Forum Datum

Bestimmte Excel datein sollen in festgelegter Größe auf rechten Bildschirmhälfte geöffnet...

Bestimmte Excel datein sollen in festgelegter Größe auf rechten Bildschirmhälfte geöffnet...: Hallo ich habe einige Excel Dateien die nach dem Öffnen nicht auf dem vollen Bildschirm angezeigt werden sollen sondern nur auf der rechten Bildschirmhälfte in einer von mir festgelegten Größe.Ich...
Microsoft Office 13. Mai 2024

Adobe Dateien werden unter Windows am Bildschirm schwarz angezeigt.

Adobe Dateien werden unter Windows am Bildschirm schwarz angezeigt.: Hallo, bei mir werden Adobe Dateien, die ich am Desktop von Windows habe, immer schwarz angezeigt ? Wie kann ich das ändern ?Gruß, mainze
Apps 29. Januar 2024

Adobe Dateien werden unter Windows am Bildschirm schwarz angezeigt.

Adobe Dateien werden unter Windows am Bildschirm schwarz angezeigt.: Hallo, bei mir werden Adobe Dateien, die ich am Desktop von Windows habe, immer schwarz angezeigt ? Wie kann ich das ändern ?Gruß, mainze
Games und Spiele 29. Januar 2024

"Diese Datei kann nicht geöffnet werden."

"Diese Datei kann nicht geöffnet werden.": "Stellen Sie sicher, dass Adrian - Persönlich auf Ihrem PC ausgeführt wird, und versuchen Sie es noch einmal"Es funktioniert nicht, wenn ich es noch einmal versuche.Das Thema, steht nach...
Apps 27. Juli 2023

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird: Guten Tag,wer kann hier helfen?Willi
Microsoft Office 16. März 2022

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird: Giten Tag,wer kann hier helfen?Willi
Apps 16. März 2022

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird

Ich brauche ein Powerpoint add-in das immer läuft, wenn eine bestimmte Datei geöffnet wird: Giten Tag,wer kann hier helfen?Willi
Games und Spiele 16. März 2022
Dateien die durch VBA Geöffnet werden, sollen auf bestimmten Bildschirmen angezeigt werden solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.