PDA

View Full Version : [VBA] - Metodo Sort cambia nome ai controlli


andreaesilvia
09-03-2007, 09:24
Ciao a tutti,
in una tabella di word ho impostato un command per ogni colonna con cui, per mezzo di codice vba, ordino i dati come voglio.
Il problema però si verifica nel momento dell'esecuzione del metodo Sort in quanto, in modalità debug, dopo essermi apparsa una finestra "Impossibile interrompere l'esecuzione in questa fase", i nomi dei cinque command sul foglio di word vengono modificati da soli con l'aggiunta di un "1" dopo il nome da me impostato.
Vi riporto il codice inserito nel modulo1 del progetto:

Option Private Module
Option Explicit

Private Sub Ordina(ByVal strColonna As String)
Dim x

Application.ScreenUpdating = False
Select Case strColonna
Case "Colonna 1"
ThisDocument.Tables(1).Select
ThisDocument.Tables(1).Sort ExcludeHeader:=True, _
FieldNumber:=strColonna, SortFieldType:=wdSortFieldNumeric, SortOrder:=wdSortOrderAscending, _
FieldNumber2:="", SortFieldType2:=wdSortFieldNumeric, SortOrder2:=wdSortOrderAscending, _
FieldNumber3:="", SortFieldType3:=wdSortFieldNumeric, SortOrder3:=wdSortOrderAscending, _
CaseSensitive:=False, LanguageID:=wdItalian
Case "Colonna 2"
ThisDocument.Tables(1).Select
ThisDocument.Tables(1).Sort ExcludeHeader:=True, _
FieldNumber:=strColonna, SortFieldType:=wdSortFieldDate, SortOrder:=wdSortOrderAscending, _
FieldNumber2:="", SortFieldType2:=wdSortFieldDate, SortOrder2:=wdSortOrderAscending, _
FieldNumber3:="", SortFieldType3:=wdSortFieldDate, SortOrder3:=wdSortOrderAscending, _
CaseSensitive:=False, LanguageID:=wdItalian
Case Else
ThisDocument.Tables(1).Select
Selection.Sort ExcludeHeader:=True, _
FieldNumber:=strColonna, SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, _
FieldNumber2:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:=wdSortOrderAscending, _
FieldNumber3:="", SortFieldType3:=wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, _
CaseSensitive:=False, LanguageID:=wdItalian
End Select
Application.ScreenUpdating = True
x = ThisDocument.cmdColonna1.Name
End Sub

Grazie, in anticipo, a tutti coloro che vorranno aiutarmi!!!!

andreaesilvia
09-03-2007, 17:46
Non può aiutarmi nessuno?????