• 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: bestandsnaam = celwaarde

Status
Niet open voor verdere reacties.

Bolski

Gebruiker
Lid geworden
16 mei 2004
Berichten
78
Mijne dames en heren,
Ik heb de volgende macro in Excel gemaakt:

Sub Publi1()
ActiveWindow.SmallScroll Down:=-69
Range("A1:H61").Select
With ActiveWorkbook.PublishObjects("Test")
.HtmlType = xlHtmlStatic
.Filename = "Q:\Map\Rapport.htm"
.Publish (False)
End With
Range("D63").Select
ActiveWorkbook.Save
End Sub

Nu zou ik graag de macro nog enigszins willen wijzigen. In cel E87 staat namelijk een datum (let op, niet DE datum) in jjjjmmdd formaat. Ik zou graag willen dat het bestand niet Rapport.htm wordt genoemd, maar de naam van die datum in cel E87 krijgt, dus in dit geval bijvoorbeeld 20060927.

De vraag luidt dus:
Wat moet ik veranderen?
Alvast bedankt voor uw bijdragen.
 
Sub Publi1()
ActiveWindow.SmallScroll Down:=-69
Range("A1:H61").Select
With ActiveWorkbook.PublishObjects("Test")
.HtmlType = xlHtmlStatic
.Filename = "Q:\Map\" & range("E87").value &".htm"
.Publish (False)
End With
Range("D63").Select
ActiveWorkbook.Save
End Sub

Volgens mij moet dit het wel doen, heb het echter niet kunnen testen.

René
 
Ik heb nog wel een vraag, de oplossing werkt op zich goed. Ik plak nog even de code die ik inmiddels wat aangepast heb:

======================
Private Sub Publiceren_Click()
ActiveWindow.SmallScroll Down:=-90
Range("A1:G61").Select
With ActiveWorkbook.PublishObjects("Testwachtrapport_22946")
.HtmlType = xlHtmlStatic
.Filename = "Q:\Productie\LT\Public\24uurs_Wachtrapport-RTY\" & Range("E87").Value & ".htm"
.Publish (False)
End With
Range("D1").Select
ActiveWorkbook.Save
End Sub
======================

Deze macro werkt volgens mij alleen maar in het bestand genaamd "Testwachtrapport". Wat moet er aan veranderd worden om deze macro te laten werken in elk bestand?
 
gebruik je steeds hetzelfde bestand, waarbij je de invoer wist en daarna opnieuw opslaat of maak je steeds een nieuw bestand aan?
Als je steeds hetzelfde bestand gebruikt dan kun je deze automatisch onder de nieuwe naam weg laten schrijven en de invoer verwijderen.
Om de code in deze hoedanigheid te gebruiken voor meerdere mappen moet je hem copieren en aanpassen voor een andere map.
Misschien dan iemand anders een beter idee heeft maar dit zou mijn oplossing zijn.

René
 
Het bestand is een alleen-lezen Excel file. Elke dag open ik hem en hernoem ik hem meteen, waarna ik hem invul.
 
Kun je beter Excel laten doen door regel ActiveWorkbook.save te wijzigen in het volgende
ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

Je hoeft dan niet meer meteen het bestand te hernoemen. Bij afsluiten origineel nee kiezen bij opslaan. Dit is eventueel ook wel te ondervangen met een macro.

René
 
Ik vraag me af of dit lukt. Ik kan wellicht beter wat meer toelichting geven. Elke morgen om 6 uur wordt dit alleen-lezen Excelbestand geopend. Het wordt in dezelfde map opgeslagen als .htm file en krijgt de naam van de datum mee in jjjjmmdd formaat. Dit staat los van de door jou gemaakte macro, die alleen op tabblad4 staat.

Gedurende de eerste 8 uur worden op tabblad1 de bijzonderheden vermeld. Na 8 uur, dus om 1400 uur , wordt dit bestand en ook de PC afgesloten, en een nieuwe gebruiker logt in en opent dit .htm bestand met Excel. En gaat op tabblad2 verder. Evenzo met de gebruiker op tabblad3 om 2200 uur.

Na afloop van de 24 uur wordt een samenvatting op tabblad4 gezet. Alleen dit tabblad 4 is openbaar en alleen dit wordt mbv de eerst genoemde macro in een totaal andere map geplaatst. Die macro werkte in de testomgeving goed, omdat de Excelfile toen nog telkens dezelfde naam had.

Ik hoop dat ik het zo enigszins verduidelijkt heb.

Zou het soms zo moeten zijn dat deze regel aangepast moet worden?:

With ActiveWorkbook.PublishObjects("Testwachtrapport_22946")

(en waar de tekst _22946 vandaan komt is mij een raadsel)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan