GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    API Salvar Como (nome padrão)
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Iniciante

postado
Olá pessoal do fórum!

Estou usando a rotina sugerida pelo João Rodrigues (JR) para abrir a API do Windows (Abrir/Salvar Como). Porém, gostaria de saber como faço para, na caixa de diálogo "Salvar Como", já apareça um nome padrão para o arquivo a ser salvo.

Segue anexo o código que estou utilizando.

Desde já agradeço,
Roberto.

roberto.ferre@daimlerchrysler.com

=========================================================================
Option Compare Database
Option Explicit

' Este módulo classe contém rotinas para ativar as caixas de diálogo padrão "Abrir Arquivo"
' e "Salvar Como" do Windows 95/98/NT 4.0/2000/XP.
' Ver Obs. quanto ao Windows 2000.

' Este módulo foi inteiramente desenvolvido por João Rodrigues (JR) - accessjr@bol.com.br
' Brasília - DF, em AGO2000, para a Revista Fórum Access, Visual Basic e Office nº 42.
' Atualizado em DEZ2002 (ref Win 2000)

' As declarações a seguir foram retiradas do API Viewer do VB 6.0, do site Windows API Guide
' (http://www.vbapi.com/) e do CD da MSDN.

' A estrutura OPENFILENAME serve tanto para passar parâmetros
' de configuração como para receber o nome do arquivo selecionado
' pelo usuário na caixa de diálogo "Abrir Arquivo" do Windows.

'Observação quanto ao Windows 2000:
' Na estrutura abaixo, sempre coloque & vbNullChar após as strings.

Private Type OPENFILENAME
lStructSize As Long 'O tamanho em bytes da estrutura.
hwndOwner As Long 'Handle da janela abrindo a caixa de diálogo.
hInstance As Long 'Handle do bloco de memória usado pelo template. O valor 0 significa a caixa de diálogo padrão.
lpstrFilter As String 'As entradas da caixa de combinação File Type.
'O formato da string é: "nome da extensão" & vbNullChar
'& "máscara" & vbNullChar ... para quantos tipos quiser,
'onde o nome da extensão é o texto que aparece na lista e "máscara" é o tipo de arquivo (extensão).
'A string deve terminar com um duplo vbNullChar.
lpstrCustomFilter As String 'Similar a lpstrFilter, mas contém apenas um par de file type name/mask que especifica um file type definido pelo usuário. Se não usado, defina como uma string vazia ("").
nMaxCustFilter As Long 'Tamanho em bytes de lpstrCustomFilter.
nFilterIndex As Long 'Índice 1, 2 etc para lpstrFilter.
lpstrFile As String 'Defina como uma série de espaços em branco.
nMaxFile As Long 'O comprimento em caracteres de lpstrFile.
lpstrFileTitle As String 'Muito similar a lpstrFile, mas apenas recebe o filename do arquivo selecionado.
nMaxFileTitle As Long 'O comprimento em caracteres de lpstrFileTitle.
lpstrInitialDir As String 'O diretório default para pesquisar.
lpstrTitle As String 'Texto que aparece na barra de título da caixa.
flags As Long 'Flags de configuração da caixa.
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

'GetSaveFileName abre a caixa de diálogo "Salvar como" do Windows, conforme os parâmetros
'passados no argumento pOpenfilename. Note que esta função apenas retorna um caminho\nome
'de arquivo informado pelo usuário. O aplicativo é que irá trabalhar este nome para criar
'um arquivo. Se o usuário selecionar um arquivo na caixa, a função retorna um valor não-zero.
'Se um erro ocorrer, ou se o usuário clicar em Cancelar, a função retorna zero.
Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long

' NOTA: Use CommDlgExtendedError para obter o código de erro dessas funções da API.

' Constantes usadas como flags em OPENFILENAME.
Private Const OFN_OVERWRITEPROMPT = &H2
Private Const OFN_HIDEREADONLY = &H4
Private Const OFN_NOCHANGEDIR = &H8
Private Const OFN_PATHMUSTEXIST = &H800
Private Const OFN_FILEMUSTEXIST = &H1000

Function SaveFileName(ByVal hWnd As Long, ByVal strDialogTitle As String) As String
' O arquivo informado pelo usuário na caixa de diálogo será retornado no elemento
' lpstrFile da estrutura OPENFILENAME.
Dim OFN As OPENFILENAME
Dim varFileName, lpstrFileTitle As Variant 'Nome do arquivo selecionado.

' Define os elementos da estrutura OFN.
OFN = SetOFN("SaveAs", hWnd, strDialogTitle)

'Abre a caixa "Salvar como" e retorna o nome do arquivo informado pelo usuário.
If GetSaveFileName(OFN) Then
' Remove o Null final da string.
varFileName = Left(OFN.lpstrFile, InStr(OFN.lpstrFile, vbNullChar) - 1)
SaveFileName = varFileName
Else
SaveFileName = ""
End If

End Function

Private Function SetOFN(strTipo As String, hWnd As Long, strDialogTitle As String) As OPENFILENAME
' Função interna usada para definir uma estrutura padrão
' comum aos métodos GetOpenFile e SaveFileName desta classe.
' strTipo deve ser: OpenFile - caixa Abrir arquivo;
' SaveAs - caixa Salvar como.

Dim lngFlags As Long 'flags da estrutura.
Dim destino As String

destino = "g:\gei2\gei2.1 - abastecimento eletrico\consumo\ano_2003\grafico_ee\"

'Define o conjunto de flags conforme o tipo de caixa de diálogo passado em strTipo.
Select Case strTipo
Case "SaveAs"
' Os flags são usados para especificar que o caminho escolhido deve existir,
' avisar se um arquivo existente for escolhido e ocultar a exibição da opção
' read-only da caixa de diálogo.
lngFlags = OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT
End Select

' Define os elementos da estrutura OPENFILENAME.
With SetOFN
.lStructSize = Len(SetOFN) 'Tamanho da estrutura.
.hwndOwner = hWnd 'Handle da janela abrindo a caixa de diálogo.
.lpstrFilter = "Formato SnapShot (*.snp)" & vbNullChar & "*.snp" & vbNullChar & vbNullChar
.lpstrDefExt = "snp" 'Extensão default do arquivo.
'.lpstrCustomFilter é ignorado - string não usada.
.nMaxCustFilter = 0
.flags = lngFlags
'.lpstrInitialDir = CurDir & vbNullChar 'Diretório inicial.
.lpstrInitialDir = destino & vbNullChar 'Diretório destino de arquivos .SNP
.lpstrTitle = strDialogTitle & vbNullChar 'Título da caixa de diálogo.
.lpstrFile = Space$(256) & vbNullChar 'Inicializa buffer que recebe o caminho e nome do arquivo.
.lpstrFileTitle = Space$(256) & vbNullChar 'O mesmo para o nome do arquivo.
.nMaxFile = Len(.lpstrFile) 'Comprimento máximo de lpstrFile.
.nMaxFileTitle = Len(.lpstrFileTitle)
' O filtro Default é o primeiro (arquivos do tipo SNP, neste caso).
.nFilterIndex = 1
End With

End Function
 
Postagens: 11 | Registrado: 02 April 2002Reply With QuoteReport This Post
jg
Estagiário

postado Hide Post
Prezado

Preciso saber como fez para utilizar a API Salvar Como já informando o nome do arquivo a ser gravado.

Fico Grato por toda ajuda
 
Postagens: 62 | Registrado: 29 January 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    API Salvar Como (nome padrão)

©