Pessoal,
Utilizando o programa XLtoEXE.exe, eu converti o meu projeto em .exe.
O que acontece é que, no modelo xlsm, o mesmo funciona perfeitamente, mas, em .exe, acontece alguns erros quando as macros abre o banco de dados externo (em outra planilha).
vejam abaixo o código:
'aqui eu verifico se as planilhas já estão abertas ou não.
If IsFileOpen("L:Avaliacao_de_desempenhoBASE_DE_DADOSBD_GERAL.xlsx") = True Then
MsgBox "Desculpa-me, aguarde um momento e tente novamente.", vbInformation, "Atenção!"
Exit Sub
End If
'na célula V3 eu gravo um código para funcionar como uma variável de pesquisa.
Dim lRow As Long
Dim UltimaLinha As Long
Dim matricula
matricula = TextBox1.Text & ComboBox44.Text
Workbooks.Open ("L:Avaliacao_de_desempenhoBASE_DE_DADOSBD_GERAL.xlsx")
ActiveSheet.Unprotect ("bossjob")
Application.Visible = False
Sheets("FORM_ESTRATEGICO").Select
Application.Visible = False
ActiveSheet.Unprotect ("bossjob")
Application.Visible = False
With Sheets("FORM_ESTRATEGICO") '<- troque o nome da planilha, se necessário
Cells(3, "V") = matricula
'na célula V4 eu verifico se a variavel da célula V3 atende os requisitos.
If [V4] = 0 Then
Sheets("FORM_ESTRATEGICO").Select
ActiveSheet.Protect Password:="bossjob"
ActiveWorkbook.Close savechanges:=True 'salvar True
MsgBox "Prezado avaliador, na Avaliação de Desempenho desse empregado, não foi pontuado nenhum D. Sendo assim, não há necessidade de PDI", vbInformation, "Atenção!"
Exit Sub
End If
If [v10] = "não" Then
Sheets("FORM_ESTRATEGICO").Select
ActiveSheet.Protect Password:="bossjob"
ActiveWorkbook.Close savechanges:=True 'salvar True
MsgBox "Prezado, não foi identificado o registro da Avaliação de Desempenho deste empregado, referente ao ano de " & ComboBox44.Text, vbInformation, "Atenção!"
With Efetivo
Efetivo.Hide
Efetivo.TextBox42.Text = 1
End With
With UserForm21
UserForm21.Hide
End With
With Efetivo
Efetivo.Show
End With
Exit Sub
End If
If [v10] <> "não" Then
'XX
TextBox10.Text = [W12]
TextBox11.Text = [W13]
TextBox12.Text = [W14]
TextBox13.Text = [W15]
TextBox14.Text = [W16]
TextBox6.Text = [w18]
Sheets("FORM_ESTRATEGICO").Select
ActiveSheet.Protect Password:="bossjob"
Dim rng As Range
Sheets("PDI").Select
Application.Visible = False
ActiveSheet.Unprotect ("bossjob")
Application.Visible = False
With Sheets("PDI")
ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort.SortFields.Add Key:=Range( _
"G1:G54"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort.SortFields.Add Key:=Range( _
"E1:E54"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("PDI").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim i As Long
ListBox2.Clear
If [l1] = 1 Then
For i = 2 To 2
ListBox2.AddItem Range("C" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 1) = Range("D" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 2) = Range("E" & i).Value
Call contarAspect
Label57.Visible = True
ListBox2.Height = 59
ListBox2.Visible = True
Next
MsgBox "... Aguarde mais um pouco!", vbInformation, "Verificando..."
ActiveSheet.Protect Password:="bossjob"
ActiveWorkbook.Close savechanges:=True 'salvar True
MsgBox "De acordo com a priorização da Brametal, esses são os Aspectos a serem tratados!", vbInformation, "Atenção!"
ComboBox44.Locked = True
Exit Sub
End If
If [l1] >= 3 Then
For i = 2 To 4
ListBox2.AddItem Range("C" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 1) = Range("D" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 2) = Range("E" & i).Value
Call contarAspect
Label57.Visible = True
ListBox2.Height = 59
ListBox2.Visible = True
Next
MsgBox "... Aguarde mais um pouco!", vbInformation, "Verificando..."
ActiveSheet.Protect Password:="bossjob"
ActiveWorkbook.Close savechanges:=True 'salvar True
MsgBox "De acordo com a priorização da Brametal, esses são os Aspectos a serem tratados!", vbInformation, "Atenção!"
ComboBox44.Locked = True
Exit Sub
End If
If [l1] = 2 Then
For i = 2 To 3
ListBox2.AddItem Range("C" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 1) = Range("D" & i).Value
ListBox2.List(ListBox2.ListCount - 1, 2) = Range("E" & i).Value
Call contarAspect
Label57.Visible = True
ListBox2.Height = 59
ListBox2.Visible = True
Next
MsgBox "... Aguarde mais um pouco!", vbInformation, "Verificando..."
ActiveSheet.Protect Password:="bossjob"
ActiveWorkbook.Close savechanges:=True 'salvar True
MsgBox "De acordo com a priorização da Brametal, esses são os Aspectos a serem tratados!", vbInformation, "Atenção!"
ComboBox44.Locked = True
Exit Sub
End If
End With
End If
End With
O que está errado, se no xlms ele funciona corretamente?
Postado : 04/02/2015 7:32 am