IMAGEM DA AREA DE TRABALHO EM FORM
Estou tentando fazer uma espécie de [Ô]fundo dinamico[Ô] em _Activate no Form...;
é possÃvel fazer uma função que retorne uma string do caminho da imagem utilizada na área de trabalho do Windows7?, utilizo o vba7...
Este é o código que estou tentando montar:
---------------------------------------------------------------
[txt-color=#0000f0]Private Sub[/txt-color] UserForm_Activate()
[txt-color=#007100][ô]ImagePath é o caminho da imagem utilizada no fundo da áera de trabalho, retornado pelo Windows[/txt-color]
Me.Image1.Picture = LoadPicture(ImagePath)
[txt-color=#0000f0]End Sub[/txt-color]
-----------------------------------------------------------------
*Realmente seria simples se fosse definir este caminho manualmente (digitando ou colando a string em uma célula, por exemplo) ao selecionar a imagem para o fundo da área de trabalho, porém outras pessoas em outras máquinas não teriam o mesmo [Ô]zelo[Ô] e importância em estar fazendo isso, assim se conseguir ter retorno desta string de caminho do arquivo de imagem pelo windows resolveria esse problema... é possÃvel?
é possÃvel fazer uma função que retorne uma string do caminho da imagem utilizada na área de trabalho do Windows7?, utilizo o vba7...
Este é o código que estou tentando montar:
---------------------------------------------------------------
[txt-color=#0000f0]Private Sub[/txt-color] UserForm_Activate()
[txt-color=#007100][ô]ImagePath é o caminho da imagem utilizada no fundo da áera de trabalho, retornado pelo Windows[/txt-color]
Me.Image1.Picture = LoadPicture(ImagePath)
[txt-color=#0000f0]End Sub[/txt-color]
-----------------------------------------------------------------
*Realmente seria simples se fosse definir este caminho manualmente (digitando ou colando a string em uma célula, por exemplo) ao selecionar a imagem para o fundo da área de trabalho, porém outras pessoas em outras máquinas não teriam o mesmo [Ô]zelo[Ô] e importância em estar fazendo isso, assim se conseguir ter retorno desta string de caminho do arquivo de imagem pelo windows resolveria esse problema... é possÃvel?
Tente esse exemplo que postei no Forum!!
foi feito em VB6, mas acho que da pra utilizar em VBA normalmente
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9187
foi feito em VB6, mas acho que da pra utilizar em VBA normalmente
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9187
Blz, vou testar...
O que poderia fazer também é ler o arquivo de papel de parede (HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper)
FILMAN e ALEVALE, vcs me ajudaram muito...
FILMAN, deve ter alguma imcompatibilidade, porém cosegui importar o módulo, apesar de não ter conseguido importar o form do teu exemplo, consegui entender o suficiente e adaptá-lo à minha necessidade....
ALEVALE, vc me ajudou a ter um foco pois no exemplo que o FILMAN me passou já trabalha com este comando, mas eu não estava entendendo...
Ja tenho um código que dimesiona direitinho, agora consigo colocar qualquer imagem no fundo, mesmo que seja JPG ou PNG, não sei se no VBA6 é assim tbm...
Obg.
ficou assim:
[txt-color=#0000f0]Private Sub[/txt-color] UserForm_initialize()
[txt-color=#007100][ô]Uso o dimendionamento aqui, seguindo vem logo o código abaixo que estava precisando...[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] sShell [txt-color=#0000f0]As Object[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] Caminho [txt-color=#0000f0]As String[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] strWallpaper [txt-color=#0000f0]As String[/txt-color]
[txt-color=#0000f0]Set[/txt-color] sShell = CreateObject([Ô]Wscript.Shell[Ô])
strWallpaper = [Ô]HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper[Ô]
Caminho = sShell.RegRead(strWallpaper)
Me.Image1.Picture = LoadPicture(Caminho)
Me.Image1.PictureSizeMode = 1
[txt-color=#0000f0]End Sub[/txt-color]
FILMAN, deve ter alguma imcompatibilidade, porém cosegui importar o módulo, apesar de não ter conseguido importar o form do teu exemplo, consegui entender o suficiente e adaptá-lo à minha necessidade....
ALEVALE, vc me ajudou a ter um foco pois no exemplo que o FILMAN me passou já trabalha com este comando, mas eu não estava entendendo...
Ja tenho um código que dimesiona direitinho, agora consigo colocar qualquer imagem no fundo, mesmo que seja JPG ou PNG, não sei se no VBA6 é assim tbm...
Obg.
ficou assim:
[txt-color=#0000f0]Private Sub[/txt-color] UserForm_initialize()
[txt-color=#007100][ô]Uso o dimendionamento aqui, seguindo vem logo o código abaixo que estava precisando...[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] sShell [txt-color=#0000f0]As Object[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] Caminho [txt-color=#0000f0]As String[/txt-color]
[txt-color=#0000f0]Dim[/txt-color] strWallpaper [txt-color=#0000f0]As String[/txt-color]
[txt-color=#0000f0]Set[/txt-color] sShell = CreateObject([Ô]Wscript.Shell[Ô])
strWallpaper = [Ô]HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper[Ô]
Caminho = sShell.RegRead(strWallpaper)
Me.Image1.Picture = LoadPicture(Caminho)
Me.Image1.PictureSizeMode = 1
[txt-color=#0000f0]End Sub[/txt-color]
Tópico encerrado , respostas não são mais permitidas