Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Userform.width wird bei jedem Editieren kleiner
20.03.2021 21:23:02 Frank Junghans
NotSolved

Ansicht des Beitrags:
Von:
Frank Junghans
Datum:
20.03.2021 21:23:02
Views:
834
Rating: Antwort:
  Ja
Thema:
VBA Userform.width wird bei jedem Editieren kleiner

Hallo,

da mein Rechner durch meinen Arbeitgeber gemanagt wird, habe ich mich dazu entschlossen, kleine Tools zu verwenden, die in Word integriert werden.

Der Rechner ist ein Surface Book i5 unter Win10 / Microsoft Office Home and Business 2016.

Ich habe also mit VBA Word eine .dotm gebaut mit vielen userform, welche im Wesentlichen nur Text anzeigen.

Seltsamerweise werden die Userforms bei jedem Öffnen des VBA Editors immer schmaler (width).

Das sieht folgendermaßen aus. Ich habe eine .dotm mit 238 Userforms. Bitte keine Kommentare, ich hätte es auch lieber in einer Datenbank gemacht ;-)

Die Mehrheit der Userforms hat eine userform.width =910.

Wenn ich jetzt in Formular1 gehe und an Label1 den Text ändere, habe ich nach dem Abspeichern und  Wiederöffnen bei den angeschauten Formularen auf einmal eine userform.width von 408 oder ähnlichs. Die Werte sind auch nicht die Hälfte von 910 oder ähnliches sondern scheinbar zufällig und sie sind immer in etwa halb so groß wie vorher.

Ich habe mehrere solcher .dotm Dateien und den Effekt überall. Ich habe jetzt das userform.initialize event benutzt um bei jedem Aufruf der Userforms die Userform.width auf den gewünschten Wert zu setzen. Das ist auch soweit ok im Prögrammablauf.

Wenn ich allerdings im Editor Änderungen an den Userforms machen will, muss ich sie erst einmal wieder auf einen sinnvollen Wert setzen (das letzte Formular hatte sich mittlerweile auf userform.width=10 eingestellt). Das nervt!!

Kann mir eventuell jemand einen Tipp geben, woher dieser Effekt kommt?

Ich kann mir überhaupt keinen Reim darauf machen.

Für einen Schubs in die richtige Richtung wäre ich wirklich dankbar. Die Programmierung auf den userforms ist nichts aufregendes. Ich kopiere mal einen Aufzug hier hinein:

Private Sub UserForm_Activate()
Me.Width = 910
End Sub

Private Sub cmbtAnhang15_Click()
frmAnhang15_04.Hide
frmAnhang0015.Show vbModeless
End Sub

Private Sub cmbtPrevious_Click()
frmAnhang15_04.Hide
frmAnhang15_03.Show vbModeless
End Sub

Private Sub cmbtNext_Click()
frmAnhang15_04.Hide
frmAnhang15_05.Show vbModeless
End Sub

Private Sub cmbtUebersicht_Click()
frmAnhang15_04.Hide
frmMDR.Show vbModeless
End Sub

Private Sub cmbtOriginal_Click()
Shell "C:\Program Files (x86)\Mozilla Firefox\firefox.exe " & "https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32017R0745&from=DE", vbMaximizedFocus
End Sub

Private Sub cmbtOriginalen_Click()
Shell "C:\Program Files (x86)\Mozilla Firefox\firefox.exe " & "https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32017R0745&from=DE", vbMaximizedFocus
End Sub

Private Sub UserForm_Click()
Me.Hide
End Sub

Private Sub Label1_Click()
KopieDesLabels (Label1)
End Sub

Private Sub Label2_Click()
KopieDesLabels (Label2)
End Sub

Private Sub Label3_Click()
KopieDesLabels (Label3)
End Sub

Private Sub Label4_Click()
KopieDesLabels (Label4)
End Sub

Private Sub Label5_Click()
KopieDesLabels (Label5)
End Sub

Private Sub Label6_Click()
KopieDesLabels (Label6)
End Sub


Public Sub KopieDesLabels(LabelText As String)
'If CommandBars("Office Clipboard").Visible = False Then CommandBars("Office Clipboard").Visible = True
CopyToClipBoard (vbCr & LabelText & vbCr)
frmZwischenablage.txtZwischenablage.Text = LabelText
frmZwischenablage.Show vbModeless
Debug.Print ("Der Text wurde in die Zwischenablage kopiert." & vbCr & "Falls es Probleme beim EinfUegen gibt, öffne in Word oben links unter <Start> die Zwischenablage und fUege darUeber ins Word ein!"), vbOKOnly
End Sub


Public Sub CopyToClipBoard(Text)
On Error Resume Next
Dim DataObj As MSForms.DataObject, i As Integer
Set DataObj = New MSForms.DataObject
DataObj.SetText Text
DataObj.PutInClipboard
End Sub

Daran wird es wohl nicht liegen!?!

Mit freundlichen Grüßen

Frank


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Userform.width wird bei jedem Editieren kleiner
20.03.2021 21:23:02 Frank Junghans
NotSolved