Notifications
Clear all

[Resolvido] Esconder Nome do Arquivo no Topo do Aplicativo Excel - Planilha maximizada como se fosse um aplicativo sem o nome do arquivo

7 Posts
2 Usuários
5 Reactions
1,352 Visualizações
willramires
(@willramires)
Posts: 11
Active Member
Topic starter
 

Prezados; programei via Excel, assim posso dizer, um aplicativo.

A primeira tela é a primeira planilha do arquivo, ou seja, no VBA eu chamo a abertura default da primeira planilha e em tela cheia sem nenhuma das ferramentas do Excel habilitadas, só a tela da planilha onde temos os Botões de navegação do Aplicativo.

O fato é que eu não queria que aparece-se no topo da tela o nome do arquivo (Plan1.xlsm) da planilha, ou seja, que aquela "borda superior da janela" fosse inibida. Para facilitar a visualização segue anexo um arquivo exemplo onde ao habilitar a macro ela vai ficar maximizada, mas eu queria que o nome Plan1.xlsm - Excel sumisse do mapa. Será que temos como fazer isso, ou se não der, esconder a borda toda incluindo os botões de Minimizar, Rest. Tamanho e Fechar? Essa é minha dúvida.   

 
Postado : 03/08/2020 7:33 pm
Eron reacted
Tags do Tópico
(@televisaos)
Posts: 49
Eminent Member
 

Boa noite willramires,

Seria isso que vc está buscando?

https://www.guiadoexcel.com.br/abrir-o-excel-em-tela-cheia-ocultar-barras-guias-e-ferramentas/

 

Att, Televisaos

 
Postado : 04/08/2020 3:37 am
(@televisaos)
Posts: 49
Eminent Member
 

Acho que o site anterior não cobre exatamente a sua pergunta, mas esses comandos sim:

ActiveWindow.Caption = ""
Application.Caption = " "

Att Televisaos

 
Postado : 04/08/2020 4:27 am
(@televisaos)
Posts: 49
Eminent Member
 

Boa noite @willramires,

Tem como mudar o ícone sim mas pelo jeito é mais complexo. Encontrei o código em um site, testei e funcionou. Segue o código:

Private Declare PtrSafe Function SendMessageA Lib "user32" _
(ByVal HWnd As LongPtr, _
ByVal wMsg As LongPtr, _
ByVal wParam As LongPtr, _
ByVal lParam As LongPtr) As LongPtr

Private Declare PtrSafe Function ExtractIconA Lib "shell32.dll" _
(ByVal hInst As LongPtr, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As LongPtr) As Long

Private Const ICON_SMALL = 0&
Private Const ICON_BIG = 1&
Private Const WM_SETICON = &H80
Sub SetIcon(FileName As String, Optional Index As Long = 0)

Dim HWnd As LongPtr
Dim HIcon As LongPtr
Dim N As Long
Dim S As String
If Dir(FileName, vbNormal) = vbNullString Then
' arquivo não encontrado, encerra a macro
Exit Sub
End If
' armazena a extensão do arquivo.
N = InStrRev(FileName, ".")
S = LCase(Mid(FileName, N + 1))
' Assegure-se de ter um tipo válido de arquivo (.exe, .ico, .dll)
Select Case S
Case "exe", "ico", "dll"
' OK
Case Else
' tipo de arquivo inválido
Err.Raise 5
End Select
HWnd = Application.HWnd
If HWnd = 0 Then
Exit Sub
End If
HIcon = ExtractIconA(0, FileName, Index)
If HIcon <> 0 Then
SendMessageA HWnd, WM_SETICON, ICON_SMALL, HIcon
End If
End Sub
Sub muda_ícone()
SetIcon "digite aqui o caminho do arquivo", 0
End Sub

Fonte: http://www.cpearson.com/excel/SetIcon.aspx

Att, Televisaos

 
Postado : 05/08/2020 2:16 am
(@televisaos)
Posts: 49
Eminent Member
 

Para retornar com o ícone ao normal:

Sub restaura_ícone()
Dim FName As String
FName = Application.Path & "\excel.exe"
SetIcon FileName:=FName, Index:=0
End Sub
 
Postado : 05/08/2020 2:19 am
willramires
(@willramires)
Posts: 11
Active Member
Topic starter
 

@televisaos amigão, vou testar o código. Bem interessante. Lhe digo algo se tiver alguma dúvida!

 
Postado : 05/08/2020 3:15 pm
willramires
(@willramires)
Posts: 11
Active Member
Topic starter
 
Postado por: @televisaos

Boa noite @willramires,

Tem como mudar o ícone sim mas pelo jeito é mais complexo. Encontrei o código em um site, testei e funcionou. Segue o código:

Private Declare PtrSafe Function SendMessageA Lib "user32" _
(ByVal HWnd As LongPtr, _
ByVal wMsg As LongPtr, _
ByVal wParam As LongPtr, _
ByVal lParam As LongPtr) As LongPtr

Private Declare PtrSafe Function ExtractIconA Lib "shell32.dll" _
(ByVal hInst As LongPtr, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As LongPtr) As Long

Private Const ICON_SMALL = 0&
Private Const ICON_BIG = 1&
Private Const WM_SETICON = &H80
Sub SetIcon(FileName As String, Optional Index As Long = 0)

Dim HWnd As LongPtr
Dim HIcon As LongPtr
Dim N As Long
Dim S As String
If Dir(FileName, vbNormal) = vbNullString Then
' arquivo não encontrado, encerra a macro
Exit Sub
End If
' armazena a extensão do arquivo.
N = InStrRev(FileName, ".")
S = LCase(Mid(FileName, N + 1))
' Assegure-se de ter um tipo válido de arquivo (.exe, .ico, .dll)
Select Case S
Case "exe", "ico", "dll"
' OK
Case Else
' tipo de arquivo inválido
Err.Raise 5
End Select
HWnd = Application.HWnd
If HWnd = 0 Then
Exit Sub
End If
HIcon = ExtractIconA(0, FileName, Index)
If HIcon <> 0 Then
SendMessageA HWnd, WM_SETICON, ICON_SMALL, HIcon
End If
End Sub
Sub muda_ícone()
SetIcon "digite aqui o caminho do arquivo", 0
End Sub

Fonte: http://www.cpearson.com/excel/SetIcon.aspx

Att, Televisaos

Amigo Televisaos, funcionou perfeitamente e pude evoluir ainda mais o que eu queria com o código. Voce merece 10. Muito obrigado!!!

 
Postado : 22/08/2020 9:33 pm