Hallo allemaal, maar Roncancio - SNB en Warme Bakkertje let op dit heeft te maken met een eerder topic van de afgelopen weken waaran jullie al heel prettig hebben meegewerkt.
Ik ben een Excel programma aan het maken die met andere EXCEL files gelinkt is. (=een Vakantie Rooster) De Excel bestanden worden via een ZIP file opgestuurd naar de gebruiker en deze moet ze uitpakken op een door hun bepaalde folder.
(Deze is dus niet vooraf bepaald.)
Als het hoofd EXCEL programma wordt geopend (= Vakantie Rooster) samen met een van de hulp programmas (bijv: 1.xls), dan kan de gebruiker de naam van het hulpprogramma (dat open staat) door middel van code veranderen in de folder.
De code die ik daarvoor gebruik (met dank aan eerder genoemde drietal) is:
Het probleem iwaar ik nu nog mee zit is dat het wegschrijven van de nieuwe naam gebeurd op in de folder waarin de gebruiker het laatst iets heeft gesaved. (Het uitpakken van de ZIP file wordt niet als een Save actie gezien.)
Wat ik nu zoek is de code die herkent waar het hoofd EXCEL programma vandaan komt, en deze ook weer daar saved alsof het een Save As functie betreft. Als ik bij een Macro gewoon Save gebruik dan lukt het niet, maar als ik Save As in de code opneem dan komt de door mij bepaalde directory in de code te staan. en zoals eerder gezegd die is niet vooraf bepaald.
Op dit moment kan ik niet anders doen dan de gebruiker instrueren om een bestand te openen en deze handmatig Save As te laten doen en vervolgens pas te gaan werken.
Maar dat wordt vroeg of laat een keer veregeten, vandaar dat ik dus graag code zou willen hebben die die directory herkent en kan gebruiken in de Save actie.
Alvast bedankt voor het medenken.
Humadgen
Ik ben een Excel programma aan het maken die met andere EXCEL files gelinkt is. (=een Vakantie Rooster) De Excel bestanden worden via een ZIP file opgestuurd naar de gebruiker en deze moet ze uitpakken op een door hun bepaalde folder.
(Deze is dus niet vooraf bepaald.)
Als het hoofd EXCEL programma wordt geopend (= Vakantie Rooster) samen met een van de hulp programmas (bijv: 1.xls), dan kan de gebruiker de naam van het hulpprogramma (dat open staat) door middel van code veranderen in de folder.
De code die ik daarvoor gebruik (met dank aan eerder genoemde drietal) is:
Code:
Dim sName As Variant
Dim sOudBest As String
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And sName <> "" Then
Dim WB As Workbook
Set WB = Workbooks(sName)
If Not WB Is Nothing Then
Workbooks(sName).SaveAs Filename:=Target.Value & ".xls"
Kill sOudBest
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 Then
sName = Target.Value & ".xls"
If Target.Value <> "" Then
sOudBest = Workbooks(sName).FullName
End If
End If
End Sub
Het probleem iwaar ik nu nog mee zit is dat het wegschrijven van de nieuwe naam gebeurd op in de folder waarin de gebruiker het laatst iets heeft gesaved. (Het uitpakken van de ZIP file wordt niet als een Save actie gezien.)
Wat ik nu zoek is de code die herkent waar het hoofd EXCEL programma vandaan komt, en deze ook weer daar saved alsof het een Save As functie betreft. Als ik bij een Macro gewoon Save gebruik dan lukt het niet, maar als ik Save As in de code opneem dan komt de door mij bepaalde directory in de code te staan. en zoals eerder gezegd die is niet vooraf bepaald.
Op dit moment kan ik niet anders doen dan de gebruiker instrueren om een bestand te openen en deze handmatig Save As te laten doen en vervolgens pas te gaan werken.
Maar dat wordt vroeg of laat een keer veregeten, vandaar dat ik dus graag code zou willen hebben die die directory herkent en kan gebruiken in de Save actie.
Alvast bedankt voor het medenken.
Humadgen