Habe mir nachfolgenden Code ausm Forum gesaugt und entsprechend meinen bedürfnissen angepasst. Allerdings bekomme ich den Laufzeitfehler 1004 gemeldet mit einem Anwendungs- oder objektdefiniertem Fehler. Dies geschieht an der Stelle, an der ich auf meine Excel Arbeitmappe verweise ( Thomas All-in-one 05-04).Und zwar bei der ersten Zuweisung der Bildgröße. Kann mir da jemand einen Tip geben, wie ich den Fehler beheben kann ?
Danke im Voraus !
Lars
Option Explicit
Dim StatusBar_Status As Boolean
Dim FormulaBar_Status As Boolean
Dim Status As Boolean
Dim Cdb As CommandBar
Dim Cn As Integer
Dim CdbList() As Integer
Const strPfad As String = "\\db-master\office\pictures\sapphire logo\sapphire logo1\sapphire logo-colo"
Const strDateiEndung As String = ".jpg"
Sub auto_open()
'Tastenkombination STRG + b
Application.OnKey "^{b}", "Grafik_anzeigen"
'Bildanzeige
'Abfrage, ob Bild existiert
If Dir(strPfad & strDateiEndung) = "" Then
MsgBox "Datei nicht gefunden:" & Chr(10) & strPfad & strDateiEndung, vbOKOnly + vbExclamation, "Fehler"
Exit Sub
End If
' Die letzten vier Werte für Bildposition und Bildgröße,
' Left - linker Abstand, Top - oberer Abstand
' Width - Bildbreite, Height - Bildhöhe [alle Werte in Punkt]
'Worksheets("Thomas All-in-one 05-04").Visible
Worksheets("Thomas All-in-one 05-04").Shapes.AddPicture strPfad & strDateiEndung, _
True, True, 100, 100, 70, 70
With Application
.DisplayFullScreen = True
'nach 5 Sekunden Makro "Symbolleisten_einblenden" ausführen
.OnTime Now + TimeSerial(0, 0, 5), "Symbolleisten_einblenden"
'Status der Status- und Eingabeleiste ermitteln und ausblenden
StatusBar_Status = .DisplayStatusBar
If .DisplayStatusBar = True Then .DisplayStatusBar = False
FormulaBar_Status = .DisplayFormulaBar
If .DisplayFormulaBar = True Then .DisplayFormulaBar = False
'Alle sichtbaren Symbolleisten ausblenden
Cn = 1
For Each Cdb In .CommandBars
If Cdb.Visible And Cdb.Type <> msoBarTypeMenuBar Then
ReDim Preserve CdbList(Cn)
CdbList(Cn) = Cdb.Name
Cn = Cn + 1
Cdb.Visible = False
End If
Next Cdb
End With
With ActiveWindow
.DisplayHeadings = False 'Spalten- und Zeilenköpfe
.DisplayHorizontalScrollBar = False 'horizontale Bildlaufleiste
.DisplayVerticalScrollBar = False 'vertikale Bildlaufleiste
End With
CommandBars(1).Enabled = False 'Menüleiste ausblenden
End Sub
Sub Grafik_anzeigen()
Status = Not Status
If Status = True Then
'Abfrage ob Bild existiert
If Dir(strPfad & strDateiEndung) = "" Then
MsgBox "Datei nicht gefunden:" & Chr(10) & strPfad & strDateiEndung, vbOKOnly + vbExclamation, "Fehler"
Exit Sub
End If
Worksheets("Thomas All-in-one 05-04").Shapes.AddPicture strPfad & strDateiEndung, _
True, True, 100, 100, 70, 70
Else
On Error Resume Next
Worksheets("Thomas All-in-one 05-04").Shapes(1).Delete
End If
End Sub
Sub Symbolleisten_einblenden()
Dim Cdb As CommandBar
Dim i As Integer
Dim strOrt As String
ActiveSheet.Pictures.Delete
With Application
.ScreenUpdating = False
.DisplayStatusBar = StatusBar_Status
.DisplayFormulaBar = FormulaBar_Status
On Error Resume Next
For i = 1 To Cn - 1
.CommandBars(CdbList(i)).Visible = True
Next i
.DisplayFullScreen = False
.WindowState = xlMaximized
End With