• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro 'bestand opslaan'

Status
Niet open voor verdere reacties.

yvonne a

Gebruiker
Lid geworden
10 apr 2003
Berichten
42
Ik zou graag een macro willen maken die als volgt werkt:
Bestand opslaan als (zoeken naar de juiste directory), dan een 'pauze' zodat de gebruiker de naam van het bestand kan invoeren. Dan op enter waarmee het bestand uiteindelijk wordt opgeslagen. Is dit mogelijk?

Groeten,
Yvonne
 
Sub OpslagInDir()

' De sheet wordt opgeslagen onder de naam die de gebruiker opgeeft
' in de directory die bij myDir is aangegeven.

Dim myDir As String
Dim mySaveNaam As String

'
' Basisdirectory vastleggen en opslagnaam voorbereiden.
myDir = "C:\Data\"

' mySaveNaam vragen
mySaveNaam = InputBox("Geef de bestandsnaam zonder .xls ", "Opslaan")

If Len(mySaveNaam) > 0 Then
' ChDir myDir
ActiveWorkbook.SaveAs FileName:=myDir & mySaveNaam & ".xls", FileFormat:=xlNormal
MsgBox "Bestand is opgeslagen in " & myDir & " onder de naam " & mySaveNaam & ".xls"
Else
' Als niets wordt ingevuld wordt er niets opgeslagen
MsgBox "U hebt geen naam opgegeven", vbExclamation, "Er wordt niet opgeslagen"
End If

End Sub

In dit geval wordt alleen om de naam van het bestand gevraagd en moet de directory al aanwezig zijn. Eventueel kun je met inputbox ook naar de directory vragen.
 
Ofwel zo:

Set WerkboekOpslaan = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
Loop Until fName <> False
WerkboekOpslaan.SaveAs Filename:=fName


Groetjes - Marrosi
 
Opdrachtknop toevoegen

Hai alleswetenden, Is het ook mogelijk een opdrachtknop toe te wijzen aan deze "handeling" (Macro?) Zo ja, hoe gaat dat in zijn werk?
Alvast hartelijk dank, Aad:o
 
Dat kan op meerdere manieren: (methodes vanaf Excel97)
1. Activeer de werkbalk formulieren en kies opdrachtknop. Teken deze in je sheet en geef aan welke macro je er aan wilt hangen. Je kunt er ook de voledige code onder plakken.
2. Activeer de werkbalk besturingselementen en kies de opdrachtknop. Plaats deze in je sheet en hang er de juiste macro aan.
3. Teken een figuur vanuit de werkbalk tekenen of voeg een figuur in. Klik rechts op de figuur en kies macro toewijzen. Kies de juiste macro.
4. Klik rechts op een leeg gedeelte in een werkbalk en kies aanpassen. Klik op het tabblad opdrachten, kies macro's en sleep een van de knoppen naar de menubalk waar je hem wilt hebben. Klik vervolgens rechts op de knop en kies macro toewijzen.

De opdrachtknoppen bij 1 en 2 werken iets verschillend van elkaar. Kijk in de help en zoek de verschillen.:)
 
HEEEE!!!! Jan, harstikke bedankt! Wat ik iedere keer fout deed: Ik activeerde de menubalk Werkset Besturingselementen:o Nou goed, bedankt voor de les.
Wellicht tot schrijfs, er vanuit gaande met nog meer simpel aandoende vragen. Ik blijf leren.
Groet Aad:thumb:
 
Is dit ook mogelijk met een sjabloon die gekoppeld is aan een database?

Nu vraagt een collega van mij of dit ook te realiseren is in een Excel sjabloon die gekoppeld is aan een Excel database. M.a.w. bij opslaan verschijnt een box met "Record opslaan?" is dit dan ook mogelijk om te integreren? (Hij heeft het al geprobeerd met de bovenstaande oplossing Het enige wat er lukt is het opslaan van de sjabloon maar wordt dan niet in de database opgenomen). Uiteraard wederom alvast dank.
Groet, Aad
 
Wat je bedoeld is me niet helemaal duidelijk maar elke actie is met een macro uit te voeren.
Ga op het punt staan net voordat je opslaat en kies dan macro opnemen. Neem dan het gehele proces op en stop opnemen.
In de opgenomen macro moet je een variabele opnemen die standaard op FALSE staat bij het starten en die meteen na de actie opslaan op TRUE gezet wordt.
Door te testen of de variabele TRUE of FALSE is kun je de melding op het scherm plaatsen en afhankelijk van het antwoord de macro opslaan alsnog laten draaien.
 
Beste Jan, jij schrijft; "In de opgenomen macro moet je een variabele opnemen die standaard op FALSE staat bij het starten en die meteen na de actie opslaan op TRUE gezet wordt.
Door te testen of de variabele TRUE of FALSE is kun je de melding op het scherm plaatsen en afhankelijk van het antwoord de macro opslaan alsnog laten draaien". Ik en evenzo mijn collega begrijpen hier niets van. We denken wel dat hetgeen jij bedoeld precies datgene is wat wij willen. Helaas ontbreekt onze kennis hiervoor. Wil je het misschien uitleggen alsof je het tegen een beginneling hebt?
:confused:
Dank alvast. Groet Aad
 
Bijgaand een voorbeeldje op basis van een bestand opslaan.
Als het wegschrijven van regels naar een database betreft zul je de test meteen na het wegschrijven van een regel moeten doen. Het principe is hetzelfde.
Anders even een voorbeeldje plaatsen van wat je nu hebt. A.u.b. excelversie erbij vermelden.
 

Bijlagen

Beste Jan, als eerste bedankt dat je voor mij (ons) hier tijd voor neemt. Ik heb het Excel '97 sjabloon met de daaraan gekoppelde database toegevoegd middels een zip-bestand.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan