OPTION STRICT ON + EXCEL
Bom dia PessoALL,
Espero que todos estejam melhores moralmente e melhores intelectualmente hoje em comparação ao ontem.
Tenho um dúvida sem pressa (o código está funcionando, mas quero melhorar)
Quero converter o Código abaixo de [Ô]Option Strict Off[Ô] para [Ô]Option Strict On[Ô]:
O que estou tentando fazer:
As linhas que estão dando erro:
- [Ô]oFolha.Sheets(0).Name = Me.Name.Substring(3)[Ô]
- Todas [Ô]oFaixa.[Ô]
Quando eu conseguir escrevo um código exemplo para postar no VBMania.
Obrigado,
Espero que todos estejam melhores moralmente e melhores intelectualmente hoje em comparação ao ontem.
Tenho um dúvida sem pressa (o código está funcionando, mas quero melhorar)
Quero converter o Código abaixo de [Ô]Option Strict Off[Ô] para [Ô]Option Strict On[Ô]:
Option Strict Off
Imports Microsoft.Office.Interop.Excel
[ô][ô][ô] <summary>
[ô][ô][ô] Exporta os dados do DataGridView para uma nova planilha do Excel
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]sender[Ô]></param>
[ô][ô][ô] <param name=[Ô]e[Ô]></param>
[ô][ô][ô] <remarks>Option Strict Off</remarks>
Private Sub btnExportar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExportar.Click
Dim oExcel As Object
Dim oPlanilha As Object
Dim oFolha As Object
Dim oFaixa As Object
Dim intContador As Integer = 1
Try
[ô]Cria uma nova planilha
oExcel = CreateObject([Ô]excel.application[Ô])
oPlanilha = oExcel.Workbooks.Add
oFolha = oPlanilha.Sheets(1)
[ô]Definir o nome da Folha (Sheet)
oPlanilha.Sheets(1).Name = Me.Name.Substring(3)
[ô]Define a folha ativa
oFaixa = oExcel.ActiveWorkbook.ActiveSheet
[ô]Exibe o aplicativo Excel
oExcel.Application.Visible = True
[ô]Colocar o cabeçalho - Nome das colunas
For Each Column As DataGridViewColumn In Me.dgvPadrao.Columns
With oFolha
oFaixa.Cells(1, Column.Index + 1).Value = CStr(Column.HeaderText)
oFaixa.Cells(1, Column.Index + 1).Borders.LineStyle = 1
oFaixa.Cells(1, Column.Index + 1).Interior.ThemeColor = 1 [ô]xlThemeColorDark1
oFaixa.Cells(1, Column.Index + 1).Interior.TintAndShade = -0.25
End With
Next
[ô]Colocar as linhas - Valores das colunas.
For Each Linha As DataGridViewRow In Me.dgvPadrao.Rows
intContador = 1
For Each Celula As DataGridViewCell In Me.dgvPadrao.Rows(Linha.Index).Cells
With oFolha
oFaixa.Cells(Linha.Index + 2, intContador).NumberFormat = [Ô]@[Ô]
oFaixa.Cells(Linha.Index + 2, intContador).Value = CStr(Celula.Value)
oFaixa.Cells(Linha.Index + 2, intContador).Borders.LineStyle = 1 [ô]xlContinuous
End With
If (Linha.Index + 2) Mod 2 = 1 Then
oFaixa.Cells(Linha.Index + 2, intContador).Interior.ThemeColor = 1 [ô]xlThemeColorDark1
oFaixa.Cells(Linha.Index + 2, intContador).Interior.TintAndShade = -0.05
End If
intContador += 1
Next
Next
[ô]Ajusta a largura de todas as colunas
oFaixa.Columns([Ô]A:AZ[Ô]).AutoFit()
Catch ex As Exception
Throw ex
End Try
End Sub
O que estou tentando fazer:
Option Strict On
Imports Microsoft.Office.Interop.Excel
[ô][ô][ô] <summary>
[ô][ô][ô] Exporta os dados do DataGridView para uma nova planilha do Excel
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]sender[Ô]></param>
[ô][ô][ô] <param name=[Ô]e[Ô]></param>
[ô][ô][ô] <remarks>Option Strict On</remarks>
Private Sub btnExportar_Click(sender As Object, e As EventArgs) Handles btnExportar.Click
Dim intContador As Integer = 1
[ô]Cria uma nova planilha
Dim oExcel As Application
Dim oFolhas As Workbooks
Dim oFolha As Workbook
Dim oPlanilhas As Sheets
Dim oPlanilha As Worksheet
Dim oFaixa As Range
Try
oExcel = New Microsoft.Office.Interop.Excel.Application()
oFolhas = oExcel.Workbooks
oFolha = oExcel.Workbooks.Add(0)
oPlanilhas = oFolha.Sheets
oPlanilha = CType(oPlanilhas.Add(0), Worksheet) [ô] oPlanilha = CType(oPlanilhas.Item(0), Worksheet)
oFaixa = oPlanilha.Range(0)
[ô]Definir o nome da Folha (Sheet)
oFolha.Sheets(0).Name = Me.Name.Substring(3)
[ô]Define a folha ativa
oFolha = CType(oExcel.ActiveWorkbook.ActiveSheet, Workbook)
[ô]Exibe o aplicativo Excel
oExcel.Application.Visible = True
[ô]Colocar o cabeçalho - Nome das colunas
For Each Column As DataGridViewColumn In Me.dgvPadrao.Columns
oFaixa.Cells(1, Column.Index + 1).Value = CStr(Column.HeaderText)
oFaixa.Cells(1, Column.Index + 1).Borders.LineStyle = 1
oFaixa.Cells(1, Column.Index + 1).Interior.ThemeColor = 1 [ô]xlThemeColorDark1
oFaixa.Cells(1, Column.Index + 1).Interior.TintAndShade = -0.25
Next
[ô]Colocar as linhas - Valores das colunas.
For Each Linha As DataGridViewRow In Me.dgvPadrao.Rows
intContador = 1
For Each Celula As DataGridViewCell In Me.dgvPadrao.Rows(Linha.Index).Cells
oFaixa.Cells(Linha.Index + 2, intContador).NumberFormat = [Ô]@[Ô]
oFaixa.Cells(Linha.Index + 2, intContador).Value = CStr(Celula.Value)
oFaixa.Cells(Linha.Index + 2, intContador).Borders.LineStyle = 1 [ô]xlContinuous
If (Linha.Index + 2) Mod 2 = 1 Then
oFaixa.Cells(Linha.Index + 2, intContador).Interior.ThemeColor = 1 [ô]xlThemeColorDark1
oFaixa.Cells(Linha.Index + 2, intContador).Interior.TintAndShade = -0.05
End If
intContador += 1
Next
Next
[ô]Ajusta a largura de todas as colunas
oFaixa.Columns([Ô]A:AZ[Ô]).AutoFit()
Catch ex As Exception
Throw ex
End Try
End Sub
As linhas que estão dando erro:
- [Ô]oFolha.Sheets(0).Name = Me.Name.Substring(3)[Ô]
- Todas [Ô]oFaixa.[Ô]
Quando eu conseguir escrevo um código exemplo para postar no VBMania.
Obrigado,
favor formar um projeto de exemplo que fica mais facil ajudar.
Tenta substituir a linha
oFaixa = oPlanilha.Range(0)
por
Set oFaixa = oPlanilha.Range(0)
oFaixa = oPlanilha.Range(0)
por
Set oFaixa = oPlanilha.Range(0)
Tópico encerrado , respostas não são mais permitidas