SetFocus su TextBox quando il Form non è Modal

Mi è capitato di tribolare per impostare il focus su un form quando lo visualizzo con:

MyForm.show 0

Per risolvere il problema bisogna catturare l’evento “Activate”; ad esempio:

Private Sub UserForm_Activate()
    ' Configura il focus al TextBox_Input.
    With TextBox_Input
        .SetFocus
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

VBA: Gestione di un Dizionario

No, non si tratta dell’oggetto Scripting.Dictionary – del quale, peraltro, vi consiglio l’uso, se potete – il cui utilizzo è ampiamente documentato in rete ma, bensì, una mia ristrettissima implementazione.

In pratica, senza dover caricare librerie aggiuntive (operazione che mi sembra abbia una pessima portabilità, tende a dare problemi appena si cambia PC con magari una versione Windows diversa), ho preferito crearmi io qualcosa di basato su quanto il linguaggio VBA offre.

Leggi tutto “VBA: Gestione di un Dizionario”

SolidWorks VBA: Copia Incolla di una stringa nella Clipboard (COPY/PASTE)

Cercando sul Forum di SolidWorks come implementare in VBA il copia/incolla di una stringa, mi è uscito un post che risolve il problema solo se si possono attivare le Aggiunte.

Ho quindi cercato una soluzione alternativa, che propongo:

Const DATAOBJECT_BINDING As String = "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"

Public Sub CopyStringToClipboard(ByVal Expression As String)
 With CreateObject(DATAOBJECT_BINDING)
 .SetText Expression
 .PutInClipboard
 End With
End Sub

E’ sufficiente passare a questa subroutine la stringa da copiare in memoria e il gioco è fatto.