Cambiar color de hoja de excel (Option Strict On disallows late binding)
-
Wednesday, July 07, 2010 3:16 PM
Hola lista,
Tengo el siguiente inconveniente, quiero cambiar el color a un reporte que generó mediante una plantilla en excel pero cuando activo Option Strinc On me indica el siguiente error:
'Option Strict On disallows late binding
El código es el siguiente:
With CType(XL.Sheets(XL.Sheets.Count - 1), Excel.Worksheet) .Name = "Versión - " & x.Text .Cells(15, 2) = x.SubItems(1).Text If x.SubItems(1).Text = "Si" Then .Tab.Color = 10616832 .Tab.TintAndShade = 0 End If End Withen la linea de .Tab.Color me indica el error mencionado y no he encontrado manera de cambiarlo.
Saludos
Juan Carlos
- Moved by Enrique M. MontejoMVP Wednesday, September 14, 2011 4:57 PM Microsoft Excel (De:Lenguaje VB.NET)
All Replies
-
Wednesday, July 07, 2010 3:42 PM
creo que deberias hacer algo como esto:Dim sheet As Excel.Worksheet = DirectCast(XL.Sheets(XL.Sheets.Count - 1), Excel.Worksheet)
With sheet
.Name = "Versión - " & x.Text
.Cells(15, 2) = x.SubItems(1).Text
If x.SubItems(1).Text = "Si" Then
.Tab.Color = 10616832
.Tab.TintAndShade = 0
End If
End Withsaludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Wednesday, July 07, 2010 4:49 PM
Hola Leandro,
Hice el cambio que me indicas y me continua indicando el mismo error, adjunto el código.
Dim xx As Excel.Worksheet = DirectCast(XL.Sheets(XL.Sheets.Count - 1), Excel.Worksheet) With xx .Name = "Versión - " & x.Text .Cells(15, 2) = x.SubItems(1).Text If x.SubItems(1).Text = "Si" Then .Tab.Color = 10616832 .Tab.TintAndShade = 0 End If End WithEspero me puedas brindar otra alternativa.
Saludos
Juan Carlos
-
Wednesday, July 07, 2010 5:11 PM
hola
lo que tienes que revisar son los tipos de datos, si estos estan correctos al momento de asignarlos
cuando da este mensaje que linea marca con el error ?
lo que podrias hacer es comentar estas lineas de codigo y compilar a ver si lo ahce correctamente
si lo hace ve descomentando de a poco y compila asi hasta ver en que linea falla
de esta forma sabras que linea de codigo esta incorrecta
por ejemplo en la linea
.Cells(15, 2) = x.SubItems(1).Text
no deberias poner el .Value ?
.Cells(15, 2).Value = x.SubItems(1).Text
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Wednesday, July 07, 2010 5:49 PM
Leandro,
Donde me marca error es en estas dos lineas, con el código que puse originalmente y con el código que despues modifique de acuerdo a lo que me indicaste.
.Tab.Color = 10616832
.Tab.TintAndShade = 0
Saludos
Juan Carlos
-
Thursday, July 08, 2010 3:39 AM
hola
no has probado en varios los datos de estas propiedades ? me parece que el color que le pasas no es valido
para ver que valores puedes tomar, graba una macro en Excel y luego revisa el codigo que genera, si estara en VBA, pero los codigo y estructura te sera util para comprender que valroes usa en estas propiedades
http://bytes.com/topic/c-sharp/answers/522192-tab-color
en el link explica que el color esta formado por RGB, al final da una explciacion de como conformar el color, por ahi ayude
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina

