/ Forside / Teknologi / Hardware / Mac / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Mac
#NavnPoint
UlrikB 4810
kipros 1675
Klaudi 1010
myg 920
pifo 907
Stouenberg 838
molokyle 830
Bille1948 815
rotw 760
10  EXTERMINA.. 750
Sti på harddisken
Fra : Kurt Hansen


Dato : 09-11-11 15:49

Jeg fedter med en macro i Excel der skal gemme noget på harddisken, men
hvad skal stien være? Hvis jeg skriver:

"Macintosh HD:Users:kh:mappenavn" siger den "Device unavailable".

Med "Users:kh:Desktop" siger den "Path not found"
og det gør den også hvis jeg skriver "Brugere:kh:Skrivebord")

Det er ikke umiddelbart indlysende om man skal skrive på dansk eller
engelsk. Selv om mit OS er på dansk, bruger maskinen åbenbart engelsk
internt.
--
Venlig hilsen
Kurt Hansen

 
 
Jonas Jalling (09-11-2011)
Kommentar
Fra : Jonas Jalling


Dato : 09-11-11 16:21

On 09/11/11 15.49, Kurt Hansen wrote:
> Jeg fedter med en macro i Excel der skal gemme noget på harddisken, men
> hvad skal stien være? Hvis jeg skriver:
>
> "Macintosh HD:Users:kh:mappenavn" siger den "Device unavailable".
>
> Med "Users:kh:Desktop" siger den "Path not found"
> og det gør den også hvis jeg skriver "Brugere:kh:Skrivebord")
>
> Det er ikke umiddelbart indlysende om man skal skrive på dansk eller
> engelsk. Selv om mit OS er på dansk, bruger maskinen åbenbart engelsk
> internt.

Hvorfra har du fået ideen om at du skal skrive : som dir-separator?
Den korrekte sti må være /Users/kb/Desktop

Mvh Jonas

Kurt Hansen (09-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 09-11-11 16:48

Den 09/11/11 16.20, Jonas Jalling skrev:
> On 09/11/11 15.49, Kurt Hansen wrote:
>> Jeg fedter med en macro i Excel der skal gemme noget på harddisken, men
>> hvad skal stien være? Hvis jeg skriver:
>>
>> "Macintosh HD:Users:kh:mappenavn" siger den "Device unavailable".
>>
>> Med "Users:kh:Desktop" siger den "Path not found"
>> og det gør den også hvis jeg skriver "Brugere:kh:Skrivebord")
>>
>> Det er ikke umiddelbart indlysende om man skal skrive på dansk eller
>> engelsk. Selv om mit OS er på dansk, bruger maskinen åbenbart engelsk
>> internt.

> Hvorfra har du fået ideen om at du skal skrive : som dir-separator?
> Den korrekte sti må være /Users/kb/Desktop

Sub Test
MsgBox CurDir
End Sub

- giver output: "Macintosh HD:Users:kh:Desktop"

Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
fra nogle af svarene:

> #If Mac Then
> sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",

og

> .Name = "New"
> .SearchPath = "Macintosh HD:Users:Shared"
> .Execute

Jeg var således ikke i tvivl, men ... hold på hat og briller:
Det /virker/ med skråstreger, som du skriver.

Det forstår jeg ikke, men det er jo også ligegyldigt

Tak for hjælpen.
--
Venlig hilsen
Kurt Hansen

Lyrik (09-11-2011)
Kommentar
Fra : Lyrik


Dato : 09-11-11 17:07

Den 09/11/11 16.47, Kurt Hansen skrev:

> Jeg var således ikke i tvivl, men ... hold på hat og briller:
> Det /virker/ med skråstreger, som du skriver.
>
> Det forstår jeg ikke, men det er jo også ligegyldigt
,,,,,,,,,,,,,,,,,,
Det er da ikke ligegyldigt Kurt!

Hvis du åbner "Terminal" vinduet, så kan du til enhver tid trække filen
ind i Terminal-vinduet, hvorefter den vil skrive stien.

MvH
Jens

Øyvind Rise (09-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 09-11-11 17:49

Kurt Hansen <kurt@ugyldig.invalid> wrote:

> > Hvorfra har du fået ideen om at du skal skrive : som dir-separator?
> > Den korrekte sti må være /Users/kb/Desktop
>
> Sub Test
> MsgBox CurDir
> End Sub
>
> - giver output: "Macintosh HD:Users:kh:Desktop"
>
> Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
> fra nogle af svarene:
>
> > #If Mac Then
> > sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",
>
> og
>
> > .Name = "New"
> > .SearchPath = "Macintosh HD:Users:Shared"
> > .Execute

Ditto for :

NewFN = Application.GetOpenFilename()

If NewFN <> False Then
MsgBox "Filsti = " & NewFN
End If

> Jeg var således ikke i tvivl, men ... hold på hat og briller:
> Det /virker/ med skråstreger, som du skriver.
>
> Det forstår jeg ikke, men det er jo også ligegyldigt

Merkelig om de ikke har valgt seg en norm for filsti, og holdt seg til
denne.

--
Øyvind Rise

Kurt Hansen (09-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 09-11-11 18:38

Den 09/11/11 17.48, Øyvind Rise skrev:
> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>
>>> Hvorfra har du fået ideen om at du skal skrive : som dir-separator?
>>> Den korrekte sti må være /Users/kb/Desktop
>>
>> Sub Test
>> MsgBox CurDir
>> End Sub
>>
>> - giver output: "Macintosh HD:Users:kh:Desktop"
>>
>> Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
>> fra nogle af svarene:
>>
>> > #If Mac Then
>> > sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",
>>
>> og
>>
>> > .Name = "New"
>> > .SearchPath = "Macintosh HD:Users:Shared"
>> > .Execute
>
> Ditto for :

> NewFN = Application.GetOpenFilename()
>
> If NewFN<> False Then
> MsgBox "Filsti = "& NewFN
> End If

Jo, men den spørger efter et filnavn. Jeg skal vælge en folder.

Jeg var superglad og optimistisk og meddelte, at det virkede med
skråstregerne. Desværre virkede det kun den ene gang og det skyldes at
jeg har brudt regel nr. 1A+ - aldrig at rette mere end een ting ad gangen.

Jeg har forsøgt at rekonstruere den kode der virkede, men det er ikke
lykkedes.

Udgangspunktet er denne macro af Harald Staff:

Sub Opret_mappestruktur()
'
' Opret_mappestruktur Macro
'
Dim Sti As String
Dim R As Long
Sti = InputBox("Hvor?", "Foldere", "C:\Temp\")
If Dir(Sti, vbDirectory) = "" And _
Dir(Sti & "\", vbDirectory) = "" Then Exit Sub
If Right(Sti, 1) <> "\" Then Sti = Sti & "\"
On Error Resume Next
For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
MkDir (Sti) & Cells(R, 1).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value & "\" & _
Cells(R, 3).Value
Next
Beep
'
End Sub

Problemet starter jo med "C:\Temp\", da jeg arbejder på Mac. Det skifter
jeg så ud med "Macintosh HD/Users/kh/mappe":

Sub Opret_mappestruktur()
'
' Opret_mappestruktur Macro
'
Dim Sti As String
Dim R As Long
Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
If Dir(Sti, vbDirectory) = "" And _
Dir(Sti & "\", vbDirectory) = "" Then Exit Sub
If Right(Sti, 1) <> "\" Then Sti = Sti & "\"
On Error Resume Next
For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
MkDir (Sti) & Cells(R, 1).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value & "\" & _
Cells(R, 3).Value
Next
Beep
'
End Sub

Det giver en fejl 68: Device not ready.

Jeg havde oprindeligt brugt : som separator. Det var udskiftning af :
med / der gjorde forskellen, men uheldigvist er jeg nu kløjs i mine
mange ændringer og der er desværre mange fejlmuligheder:

Måske skal man ikke skrive hele stien? Jeg har klippet den bagfra trin
for tin, men stadig fejl 68.

Og så foresvæver det mig, at jeg havde udskiftet alle backslash'er i
resten af koden med kolon, men jeg er ikke sikker.
--
Venlig hilsen
Kurt Hansen

Jonas Jalling (09-11-2011)
Kommentar
Fra : Jonas Jalling


Dato : 09-11-11 19:28

On 09/11/11 18.37, Kurt Hansen wrote:
> Den 09/11/11 17.48, Øyvind Rise skrev:
>> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>>
>>>> Hvorfra har du fået ideen om at du skal skrive : som dir-separator?
>>>> Den korrekte sti må være /Users/kb/Desktop
>>>
>>> Sub Test
>>> MsgBox CurDir
>>> End Sub
>>>
>>> - giver output: "Macintosh HD:Users:kh:Desktop"
>>>
>>> Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
>>> fra nogle af svarene:
>>>
>>> > #If Mac Then
>>> > sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",
>>>
>>> og
>>>
>>> > .Name = "New"
>>> > .SearchPath = "Macintosh HD:Users:Shared"
>>> > .Execute
>>
>> Ditto for :
>
>> NewFN = Application.GetOpenFilename()
>>
>> If NewFN<> False Then
>> MsgBox "Filsti = "& NewFN
>> End If
>
> Jo, men den spørger efter et filnavn. Jeg skal vælge en folder.
>
> Jeg var superglad og optimistisk og meddelte, at det virkede med
> skråstregerne. Desværre virkede det kun den ene gang og det skyldes at
> jeg har brudt regel nr. 1A+ - aldrig at rette mere end een ting ad gangen.
>
> Jeg har forsøgt at rekonstruere den kode der virkede, men det er ikke
> lykkedes.
>
> Udgangspunktet er denne macro af Harald Staff:
>
> Sub Opret_mappestruktur()
> '
> ' Opret_mappestruktur Macro
> '
> Dim Sti As String
> Dim R As Long
> Sti = InputBox("Hvor?", "Foldere", "C:\Temp\")
> If Dir(Sti, vbDirectory) = "" And _
> Dir(Sti & "\", vbDirectory) = "" Then Exit Sub
> If Right(Sti, 1) <> "\" Then Sti = Sti & "\"
> On Error Resume Next
> For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
> MkDir (Sti) & Cells(R, 1).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value & "\" & _
> Cells(R, 3).Value
> Next
> Beep
> '
> End Sub
>
> Problemet starter jo med "C:\Temp\", da jeg arbejder på Mac. Det skifter
> jeg så ud med "Macintosh HD/Users/kh/mappe":
>

Det skal skiftes ud med "/Users/kh/mappe"

Du har fået det at vide før - / er roden på din disk.

Mvh Jonas

Kurt Hansen (10-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 10-11-11 03:36

Den 09/11/11 19.28, Jonas Jalling skrev:
> On 09/11/11 18.37, Kurt Hansen wrote:
>> Den 09/11/11 17.48, Øyvind Rise skrev:
>>> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>>>
>> Problemet starter jo med "C:\Temp\", da jeg arbejder på Mac. Det skifter
>> jeg så ud med "Macintosh HD/Users/kh/mappe":

> Det skal skiftes ud med "/Users/kh/mappe"
>
> Du har fået det at vide før - / er roden på din disk.

Jo, jo, men som det fremgik af mit indlæg:

> Måske skal man ikke skrive hele stien? Jeg har klippet den
> bagfra trin for tin, men stadig fejl 68".

Jeg har prøvet med:

Macintosh HD/Users/kh/mappe
/Users/kh/mappe
Users/kh/mappe
/kh/mappe
kh/mappe
/mappe
og
mappe

- så fejlen skal findes et andet sted.
--
Venlig hilsen
Kurt Hansen

Henry Lerche Madsen (10-11-2011)
Kommentar
Fra : Henry Lerche Madsen


Dato : 10-11-11 06:29

Den 10/11/11 03.35, Kurt Hansen skrev:

> Jo, jo, men som det fremgik af mit indlæg:
>
> > Måske skal man ikke skrive hele stien? Jeg har klippet den
> > bagfra trin for tin, men stadig fejl 68".

og fejl 40

Kurt Hansen (10-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 10-11-11 07:42

Den 10/11/11 06.28, Henry Lerche Madsen skrev:
> Den 10/11/11 03.35, Kurt Hansen skrev:
>
>> Jo, jo, men som det fremgik af mit indlæg:
>>
>> > Måske skal man ikke skrive hele stien? Jeg har klippet den
>> > bagfra trin for tin, men stadig fejl 68".
>
> og fejl 40

Hvis du ved at det er en fejl 40, kunne du måske være så venlig at
oplyse mig om hvad du mener jeg gør forkert? Jeg er netop usikker på
hvordan stien skal skrives og så afprøver jeg systematisk ved at fjerne
eet led ad gangen bagfra. Det er Fedtmule, ja, men fejl 40?
--
Venlig hilsen
Kurt Hansen

Øyvind Rise (09-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 09-11-11 20:55

Kurt Hansen <kurt@ugyldig.invalid> wrote:

> >> - giver output: "Macintosh HD:Users:kh:Desktop"
> >>
> >> Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
> >> fra nogle af svarene:
> >>
> >> > #If Mac Then
> >> > sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",
> >>
> >> og
> >>
> >> > .Name = "New"
> >> > .SearchPath = "Macintosh HD:Users:Shared"
> >> > .Execute
> >
> > Ditto for :
>
> > NewFN = Application.GetOpenFilename()
> >
> > If NewFN<> False Then
> > MsgBox "Filsti = "& NewFN
> > End If
>
> Jo, men den spørger efter et filnavn. Jeg skal vælge en folder.

Ok. Vi snakker litt forbi hverandre. Jeg ville bare vise at også den
funksjonen returnerer samme filsti-norm (HFS stil), som du også fikk.

[snip]

> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")

Foreslår:


Dim skript As String
skript = "try" + Chr(13) + _
"choose folder with prompt ""Hvor?"" default location
""/Users/kh/mappe/"" " + Chr(13) + _
"end try"
Sti = MacScript(skript)



PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
En test med TypeName returnerer String som variabeltype.


--
Øyvind Rise

Thomas von Hassel (09-11-2011)
Kommentar
Fra : Thomas von Hassel


Dato : 09-11-11 21:04

Øyvind Rise <oyvind.rise@bio.uio.no> wrote:

> Kurt Hansen <kurt@ugyldig.invalid> wrote:
>
> > >> - giver output: "Macintosh HD:Users:kh:Desktop"
> > >>
> > >> Googlesøgninger giver mange hits til Excel-fora og jeg nævner i flæng
> > >> fra nogle af svarene:
> > >>
> > >> > #If Mac Then
> > >> > sFName = Dir("Users:gerard:Desktop:Bid-folder:Bids-Accepted:",
> > >>
> > >> og
> > >>
> > >> > .Name = "New"
> > >> > .SearchPath = "Macintosh HD:Users:Shared"
> > >> > .Execute
> > >
> > > Ditto for :
> >
> > > NewFN = Application.GetOpenFilename()
> > >
> > > If NewFN<> False Then
> > > MsgBox "Filsti = "& NewFN
> > > End If
> >
> > Jo, men den spørger efter et filnavn. Jeg skal vælge en folder.
>
> Ok. Vi snakker litt forbi hverandre. Jeg ville bare vise at også den
> funksjonen returnerer samme filsti-norm (HFS stil), som du også fikk.
>
> [snip]
>
> > Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
>
> Foreslår:
>
>
> Dim skript As String
> skript = "try" + Chr(13) + _
> "choose folder with prompt ""Hvor?"" default location
> ""/Users/kh/mappe/"" " + Chr(13) + _
> "end try"
> Sti = MacScript(skript)
>
>
>
> PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
> En test med TypeName returnerer String som variabeltype.


En helt anden ting ... gud fader hvor er det dog et grimt sprog ...

/thomas

Øyvind Rise (09-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 09-11-11 22:00

Thomas von Hassel <thomas@elements.dk> wrote:

> > Ok. Vi snakker litt forbi hverandre. Jeg ville bare vise at også den
> > funksjonen returnerer samme filsti-norm (HFS stil), som du også fikk.
> >
> > [snip]
> >
> > > Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
> >
> > Foreslår:
> >
> >
> > Dim skript As String
> > skript = "try" + Chr(13) + _
> > "choose folder with prompt ""Hvor?"" default location
> > ""/Users/kh/mappe/"" " + Chr(13) + _
> > "end try"
> > Sti = MacScript(skript)
> >
> >
> >
> > PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
> > En test med TypeName returnerer String som variabeltype.
>
>
> En helt anden ting ... gud fader hvor er det dog et grimt sprog ...

Norsk, Visual Basic eller AppleScript?


--
Øyvind Rise

Thomas von Hassel (09-11-2011)
Kommentar
Fra : Thomas von Hassel


Dato : 09-11-11 22:08

Øyvind Rise <oyvind.rise@bio.uio.no> wrote:

> Thomas von Hassel <thomas@elements.dk> wrote:
>
> > > Ok. Vi snakker litt forbi hverandre. Jeg ville bare vise at også den
> > > funksjonen returnerer samme filsti-norm (HFS stil), som du også fikk.
> > >
> > > [snip]
> > >
> > > > Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
> > >
> > > Foreslår:
> > >
> > >
> > > Dim skript As String
> > > skript = "try" + Chr(13) + _
> > > "choose folder with prompt ""Hvor?"" default location
> > > ""/Users/kh/mappe/"" " + Chr(13) + _
> > > "end try"
> > > Sti = MacScript(skript)
> > >
> > >
> > >
> > > PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
> > > En test med TypeName returnerer String som variabeltype.
> >
> >
> > En helt anden ting ... gud fader hvor er det dog et grimt sprog ...
>
> Norsk, Visual Basic eller AppleScript?

VB :)

/thomas

Kurt Hansen (10-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 10-11-11 03:46

Den 09/11/11 20.54, Øyvind Rise skrev:
> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>
>> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")

> Foreslår:
>
>
> Dim skript As String
> skript = "try" + Chr(13) + _
> "choose folder with prompt ""Hvor?"" default location
> ""/Users/kh/mappe/"" " + Chr(13) + _
> "end try"
> Sti = MacScript(skript)
>
>
>
> PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
> En test med TypeName returnerer String som variabeltype.

Også her. Compile error: Syntaxerrror for følgende:

Sub Opret_mappestruktur()
'
' Opret_mappestruktur Macro
'
Dim skript As String skript = "try" + Chr(13) + _ "choose folder with
prompt ""Hvor?"" default location ""/Users/kh/mappe/"" " + Chr(13) + _
"end try" Sti = MacScript(skript)
On Error Resume Next
For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
MkDir (Sti) & Cells(R, 1).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value
MkDir (Sti) & Cells(R, 1).Value & "\" & _
Cells(R, 2).Value & "\" & _
Cells(R, 3).Value
Next
Beep
'
End Sub

--
Venlig hilsen
Kurt Hansen

Jonas Jalling (10-11-2011)
Kommentar
Fra : Jonas Jalling


Dato : 10-11-11 08:41

On 10/11/11 03.46, Kurt Hansen wrote:
> Den 09/11/11 20.54, Øyvind Rise skrev:
>> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>>
>>> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
>
>> Foreslår:
>>
>>
>> Dim skript As String
>> skript = "try" + Chr(13) + _
>> "choose folder with prompt ""Hvor?"" default location
>> ""/Users/kh/mappe/"" " + Chr(13) + _
>> "end try"
>> Sti = MacScript(skript)
>>
>>
>>
>> PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
>> En test med TypeName returnerer String som variabeltype.
>
> Også her. Compile error: Syntaxerrror for følgende:
>
> Sub Opret_mappestruktur()
> '
> ' Opret_mappestruktur Macro
> '
> Dim skript As String skript = "try" + Chr(13) + _ "choose folder with
> prompt ""Hvor?"" default location ""/Users/kh/mappe/"" " + Chr(13) + _
> "end try" Sti = MacScript(skript)
> On Error Resume Next
> For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
> MkDir (Sti) & Cells(R, 1).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value & "\" & _
> Cells(R, 3).Value
> Next
> Beep
> '
> End Sub
>

Går der ikke noget galt med alle de " ? Nogle gange bruger du "" og
andre gange " - hvad er rigtigt?

Mvh Jonas

Kurt Hansen (10-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 10-11-11 09:19

Den 10/11/11 08.41, Jonas Jalling skrev:
> On 10/11/11 03.46, Kurt Hansen wrote:
>> Den 09/11/11 20.54, Øyvind Rise skrev:
>>> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>>>
>>>> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
>>
>>> Foreslår:
>>>
>>>
>>> Dim skript As String
>>> skript = "try" + Chr(13) + _
>>> "choose folder with prompt ""Hvor?"" default location
>>> ""/Users/kh/mappe/"" " + Chr(13) + _
>>> "end try"
>>> Sti = MacScript(skript)
>>>
>>>
>>>
>>> PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
>>> En test med TypeName returnerer String som variabeltype.
>>
>> Også her. Compile error: Syntaxerrror for følgende:
>>
>> Sub Opret_mappestruktur()
>> '
>> ' Opret_mappestruktur Macro
>> '
>> Dim skript As String skript = "try" + Chr(13) + _ "choose folder with
>> prompt ""Hvor?"" default location ""/Users/kh/mappe/"" " + Chr(13) + _
>> "end try" Sti = MacScript(skript)
>> On Error Resume Next
>> For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
>> MkDir (Sti) & Cells(R, 1).Value
>> MkDir (Sti) & Cells(R, 1).Value & "\" & _
>> Cells(R, 2).Value
>> MkDir (Sti) & Cells(R, 1).Value & "\" & _
>> Cells(R, 2).Value & "\" & _
>> Cells(R, 3).Value
>> Next
>> Beep
>> '
>> End Sub

> Går der ikke noget galt med alle de " ? Nogle gange bruger du "" og
> andre gange " - hvad er rigtigt?

Det ved jeg ikke. Jeg ved i det hele taget ikke ret meget om VBA. Det er
den gode og hjælpsomme Harald Staff i regnearksgruppen der har lavet det.


--
Venlig hilsen
Kurt Hansen

Øyvind Rise (10-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 10-11-11 13:10

Kurt Hansen <kurt@ugyldig.invalid> wrote:

> Den 09/11/11 20.54, Øyvind Rise skrev:
> > Kurt Hansen<kurt@ugyldig.invalid> wrote:
> >
> >> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
>
> > Foreslår:
> >
> >
> > Dim skript As String
> > skript = "try" + Chr(13) + _
> > "choose folder with prompt ""Hvor?"" default location
> > ""/Users/kh/mappe/"" " + Chr(13) + _
> > "end try"
> > Sti = MacScript(skript)
> >
> >
> >
> > PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
> > En test med TypeName returnerer String som variabeltype.
>
> Også her. Compile error: Syntaxerrror for følgende:

Det er vel ikke helt det samme? Det jeg beskrev tror jeg kommer av at
udeklarerte variabler har datatypen Variant, som er såpass løst definert
at innholdet i dette tilfellet ble ansett som en tekststreng. Fant
senere ut at det rettet seg opp om jeg "vasket" teksten til filstien
først.

Tilbake til din kompileringsfeil/syntaktisk feil: Du må nesten fortelle
hvilken linje som gir denne feilen.

> Sub Opret_mappestruktur()
> '
> ' Opret_mappestruktur Macro
> '
> Dim skript As String skript = "try" + Chr(13) + _ "choose folder with
> prompt ""Hvor?"" default location ""/Users/kh/mappe/"" " + Chr(13) + _
> "end try" Sti = MacScript(skript)
> On Error Resume Next
> For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
> MkDir (Sti) & Cells(R, 1).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value
> MkDir (Sti) & Cells(R, 1).Value & "\" & _
> Cells(R, 2).Value & "\" & _
> Cells(R, 3).Value
> Next
> Beep
> '
> End Sub

Her er mitt råd: Start først med det enkle. Konsentrer dig om hvordan du
plukker opp en filsti og dernest oppretter en mappe før du går videre og
genererer mer av mappestrukturen

Her er et eksempel som oppretter en mappe "testmappe" i en mappe
definert ved en fildialog:

Sub Ny_mappe()

Dim skript As String
Dim Sti As String

skript = "try" & vbNewLine _
& "(choose folder with prompt ""Hvor?"" default location ""/Users/"" )
as string" & vbNewLine _
& "end try"
Sti = MacScript(skript)
Sti = Sti & "testmappe:"
MkDir (Sti)

End Sub


Det som mangler her er å sjekke om mappen allerede eksisterer og
lignende. Trodde det enkelt kunne testes med Dir-funksjonen, men den
feiler når mappen/stien ikke eksisterer:

If Dir(Sti, vbDirectory) = vbNullString Then
' feiler her med fejl 68 "Device not ready"
MkDir (Sti)
End If

Urk! Mulig jeg er dårlig til at programmerere, men VBA for Excel
fremstår for meg som meningsløs spinkel.

Her er en mulig løsning. Men skøn er den ikke.
<http://www.excelguru.ca/node/30>

--
Øyvind Rise

Kurt Hansen (10-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 10-11-11 16:27

Den 10/11/11 13.10, Øyvind Rise skrev:
> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>
>> Den 09/11/11 20.54, Øyvind Rise skrev:
>>> Kurt Hansen<kurt@ugyldig.invalid> wrote:
>>>
>>>> Sti = InputBox("Hvor?", "Foldere", "Macintosh HD/Users/kh/mappe")
>>
>>> Foreslår:
>>>
>>>
>>> Dim skript As String
>>> skript = "try" + Chr(13) + _
>>> "choose folder with prompt ""Hvor?"" default location
>>> ""/Users/kh/mappe/"" " + Chr(13) + _
>>> "end try"
>>> Sti = MacScript(skript)
>>>
>>>
>>>
>>> PS: "Dim Sti As String" ga feilmelding. Forstår dessverre ikke hvorfor.
>>> En test med TypeName returnerer String som variabeltype.
>>
>> Også her. Compile error: Syntaxerrror for følgende:

> Det er vel ikke helt det samme? Det jeg beskrev tror jeg kommer av at
> udeklarerte variabler har datatypen Variant, som er såpass løst definert
> at innholdet i dette tilfellet ble ansett som en tekststreng. Fant
> senere ut at det rettet seg opp om jeg "vasket" teksten til filstien
> først.
>
> Tilbake til din kompileringsfeil/syntaktisk feil: Du må nesten fortelle
> hvilken linje som gir denne feilen.

Dette er hvad der er highlightet:

Dim skript As String skript = "try" + Chr(13) + _ "choose folder with
prompt ""Hvor?"" default location ""/Users/kh/mappe/"" " + Chr(13) + _
"end try" Sti = MacScript(skript)

- faktisk præcist det nye "modul" du kom med. Desværre fortæller den
ikke nøjagtigt /hvor/ fejlen er

> Her er et eksempel som oppretter en mappe "testmappe" i en mappe
> definert ved en fildialog:
>
> Sub Ny_mappe()
>
> Dim skript As String
> Dim Sti As String
>
> skript = "try"& vbNewLine _
> & "(choose folder with prompt ""Hvor?"" default location ""/Users/"" )
> as string"& vbNewLine _
> & "end try"
> Sti = MacScript(skript)
> Sti = Sti& "testmappe:"
> MkDir (Sti)
>
> End Sub

Syntaxfejl her:

as string" & vbNewLine _
& "end try"

> Det som mangler her er å sjekke om mappen allerede eksisterer og
> lignende.

Jeg skal ikke bruge den generelt, men til helt specifikke opgaver, hvor
jeg præcist ved hvad der skal ligge hvor.
--
Venlig hilsen
Kurt Hansen

Øyvind Rise (10-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 10-11-11 17:57

Kurt Hansen <kurt@ugyldig.invalid> wrote:

> > skript = "try"& vbNewLine _
> > & "(choose folder with prompt ""Hvor?"" default location ""/Users/"" )
> > as string"& vbNewLine _
> > & "end try"
> > Sti = MacScript(skript)
> > Sti = Sti& "testmappe:"
> > MkDir (Sti)
> >
> > End Sub
>
> Syntaxfejl her:
>
> as string" & vbNewLine _
> & "end try"

Enkelt! Neida, det har seg slik at i Usenet News er det en gammel konsensus om en linjelengde på maksimalt 80 tegn, så denne linjen ble dessverre
splittet i to deler ved sending.

Prøver å skru opp linjelengden for å se om det hjelper. Om ikke får du prøve å lokalisere linjeskiftet, og slette denne, slik at kommandoen kommer
tilbake på felles linje.

Sub Ny_mappe()

Dim skript As String
Dim Sti As String

skript = "try" & vbNewLine _
& "(choose folder with prompt ""Hvor?"" default location ""/Users/"" ) as string" & vbNewLine _
& "end try"
Sti = MacScript(skript)
Sti = Sti & "testmappe:"
MkDir (Sti)

End Sub

--
Øyvind Rise

Kurt Hansen (12-11-2011)
Kommentar
Fra : Kurt Hansen


Dato : 12-11-11 16:31

Med hjælp fra Øivind Rise er Harals Staff's arbejde nu fuldført og det
virker:

Sub Opret_Mappestruktur()
Dim Sti As String
Dim R As Long
skript = "try" & vbNewLine _
& "(choose folder with prompt ""Hvor?"" default location ""/Users/"" )
as string" & vbNewLine _
& "end try"
Sti = MacScript(skript)
On Error Resume Next
For R = 1 To Cells(Rows.Count, 1).End(xlUp).Row
MkDir (Sti) & Cells(R, 1).Value
MkDir (Sti) & Cells(R, 1).Value & ":" & _
Cells(R, 2).Value
MkDir (Sti) & Cells(R, 1).Value & ":" & _
Cells(R, 2).Value & ":" & _
Cells(R, 3).Value
Next
Beep
End Sub

Testdata i kolonne A, B og C i et Excelark:

A S1 R1
A S1 R2
A S3 R3
B S5 R5
B S5 R6
B S7 R9
B S7 R10
C S1 R1
C S1 R2
C S1 R3

Mange tak. Hvad skulle vi dog gøre uden assistance fra nabolandene
--
Venlig hilsen
Kurt Hansen

Øyvind Rise (13-11-2011)
Kommentar
Fra : Øyvind Rise


Dato : 13-11-11 19:40

Kurt Hansen <kurt@ugyldig.invalid> wrote:

> Med hjælp fra Øivind Rise er Harals Staff's arbejde nu fuldført og det
> virker:
>
[snip]
>
> Mange tak. Hvad skulle vi dog gøre uden assistance fra nabolandene

Godt at høre at du har fundet en løsning

--
Øyvind Rise

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409070
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste