|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
[vba word] dividere una cella in 3 colonne ed evitare propagazione
Buona serata a tutti.
Spiego rapidamente il mio problema. Ho una tabella costituita da x righe e 2 colonne. Voglio dividere una cella della seconda colonna in 3 celle e scrivere all'interno di queste del testo. Qui sotto c'è il codice che ho scritto Codice:
objtable.Cell(i + 1, 2).Split NumColumns:=3 objtable.Cell(i + 1, 2).Select objword.Selection.TypeText Text:="testo1" objword.Selection.MoveRight Unit:=wdCell objword.Selection.TypeText Text:="testo2" objword.Selection.MoveRight Unit:=wdCell objword.Selection.TypeText Text:="testo3" objword.Selection.MoveRight Unit:=wdCell Come posso risolvere? Grazie per l'attenzione. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Allora, ho cercato con questo piccolo codice di ricreare il mio problema.
Ovviamente l'indice i che in questo codice è superfluo nella mia vera applicazione è necessario perchè recupero i dati da una query. Vorrei sapere perchè quando splitto una determinata cella, anche le righe sottostanti vengono suddivise in 3 colonne. Grazie per l'attenzione. Codice:
Private Sub cmdGenCV_Click()
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set objdoc = objword.Documents.Add
Set objRange = objdoc.Range()
objdoc.Tables.Add objRange, 1, 2
Set objtable = objdoc.Tables(1)
objtable.Columns(1).PreferredWidth = 150
objtable.Columns(2).PreferredWidth = 350
objtable.Cell(1, 1).Range.InlineShapes.AddPicture ("C:\mioPath\immagine.jpg")
objtable.Cell(1, 1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
objtable.Rows.Add
objtable.Cell(2, 1).Range.Text = "text"
i = 3
objtable.Rows.Add
objtable.Cell(i, 1).Range.Text = "Informazioni personali"
objtable.Cell(i, 2).Split NumColumns:=3
objtable.Cell(i, 2).Select
objword.Selection.TypeText Text:="primo"
objword.Selection.MoveRight Unit:=wdCell
objword.Selection.TypeText Text:="secondo"
objword.Selection.MoveRight Unit:=wdCell
objword.Selection.TypeText Text:="terzo"
i = i + 1
objtable.Rows.Add
objtable.Cell(i, 1).Range.Text = "testo"
objtable.Cell(i, 2).Range.Text = "altro testo
i = i + 1
objtable.Rows.Add
objtable.Cell(i, 1).Range.Text = "testo"
objtable.Cell(i, 2).Range.Text = "altro testo"
i = i + 1
objtable.Rows.Add
objtable.Cell(i, 1).Range.Text = "testo"
objtable.Cell(i, 2).Range.Text = "altro testo
i = i + 1
End Sub
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Ho appena scoperto che se cancello la prima riga della tabella che contiene l'immagine, il codice funziona e solo la cella desiderata viene splittata in tre colonne.
Ciò cosa significa, che c'è un problema di compatibilità tra InlineShapes e lo split? Confido in qualche guru. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:25.



















