Avatar billede slammer12 Nybegynder
09. september 2008 - 11:45 Der er 7 kommentarer

Angive sti til numre

Jeg har fundet nedenstående programstump her på Eksperten.dk. Meningen er at jeg skal oprette et jobkort med et fortløbende nummer.
På en PC angiver man jo stien med f.eks. c:/fil.txt. Men hvordan angiver jeg stien på Mac med OSX? Filen kommer til at ligge i samme mappe som xls filen.

--------------------------------------------
Sub auto_open() 'Denne sub køres automatisk når regnearket åbnes i Excel
  filnummer = FreeFile
  Dim Varenummer As String
  Open "C:\Fil.txt" For Input As #filnummer
    Line Input #filnummer, Varenummer  'Putter 1. linie ind i Varenummer
  Close #filnummer
  Range("A1").Select
  ActiveCell.Value = Val(Varenummer)
  Range("A2").Select
  ActiveCell.Value = Val(Varenummer) + 1
End Sub

Sub auto_close() 'Denne sub køres automatisk når regnearket lukkes i Excel
  Dim filnummer As Integer
  filnummer = FreeFile
  Range("A2").Select
  Open "C:\Fil.txt" For Output As #filnummer
  Print #filnummer, ActiveCell.Value 'Skriver indholdet af celle A1 til filen
  Close #filnummer
End Sub
Avatar billede kabbak Professor
09. september 2008 - 12:10 #1
Open ThisWorkbook.path & "\Fil.txt" For Input As #filnummer
Avatar billede slammer12 Nybegynder
09. september 2008 - 13:52 #2
Tak for svar!
Når jeg erstatter linien "open "C:\Fil.txt" For Input As #filnummer" med din linie, får jeg flg. fejlmeddelse: Compile error: expected expression.
Skal din linie stå et andet sted i koden?
Avatar billede kabbak Professor
09. september 2008 - 16:05 #3
Ok , fandt forskellen, her er koderne + en funktion, der tjekker om det er windows eller ej.


Sub auto_open() 'Denne sub køres automatisk når regnearket åbnes i Excel
  filnummer = FreeFile
  Dim Varenummer As String
  Open Win_or_Mac_Path & "Fil.txt" For Input As #filnummer
    Line Input #filnummer, Varenummer  'Putter 1. linie ind i Varenummer
  Close #filnummer
  Range("A1").Select
  ActiveCell.Value = Val(Varenummer)
  Range("A2").Select
  ActiveCell.Value = Val(Varenummer) + 1
End Sub

Sub auto_close() 'Denne sub køres automatisk når regnearket lukkes i Excel
  Dim filnummer As Integer
  filnummer = FreeFile
  Range("A2").Select
  Open Win_or_Mac_Path & "Fil.txt" For Output As #filnummer
  Print #filnummer, ActiveCell.Value 'Skriver indholdet af celle A1 til filen
  Close #filnummer
End Sub

Public Function Win_or_Mac_Path()
If Application.OperatingSystem Like "*Win*" Then
            Win_or_Mac_Path = ThisWorkbook.Path & "\"
        Else
            'MAC syntax differs from Win
            Win_or_Mac_Path = ThisWorkbook.Path & ":"
        End If
End Function


Jeg fandt det her: http://www.jkp-ads.com/Articles/DistributeMacro10.htm
Avatar billede slammer12 Nybegynder
10. september 2008 - 08:31 #4
Mærkeligt. Nu får jeg en fejl i linie 1 "Compile error. Sub or function not defined
Avatar billede kabbak Professor
10. september 2008 - 12:33 #5
linie 1, hvilken kode ??
Avatar billede slammer12 Nybegynder
10. september 2008 - 13:50 #6
Første fejlmeddelse kom i denne linie: Sub auto_open() 'Denne sub køres automatisk når regnearket åbnes i Excel

Nu har startet forfra, men så kommer der en fejl i denne linie: Public Function Win_or_Mac_Path()

Bare lige for at være sikker: Jeg opretter en makro og kopierer koden ind i denne. Jeg bruger Excel 2004 til mac.
Avatar billede kabbak Professor
10. september 2008 - 15:52 #7
Det skal stå i et module, akkurat, som vist 09/09-2008 16:05:56
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester