Avatar billede mikkel45 Novice
06. december 2011 - 18:22 Der er 13 kommentarer og
1 løsning

Skifte drevbogstav

Hej
Jeg har en "lille" opgave til jer :-)
Jeg har i et excel dokument noget VBA, som henter noget data fra C: drevet, jeg vil gerne have det hele lagt over på en USB stick, men her kommer problemet, alt efter hvilken computer den bliver sat i, vil den jo måske skifte drevbogstav.
Kan jeg lave noget, så der automatisk bliver skiftet drevbogstav, eller måske noget med en rullemenu med drevbogstaver jeg kan vælge i, og måske noget med den vil fortælle mig hvilket bogstav der er blevet tildelt USB

Jeg vedhæfter da lige lidt af koden :-)

Sub gemSom()
Const filstiNavn = "C:\Users\Peter\Desktop"
Dim navn As String, fakturaNr As String

Mvh
Peter
Avatar billede 220661 Ekspert
06. december 2011 - 19:44 #1
Hvis det kun er dine egne computere skulle man vel kunne tildele usb pinden til et bestemt bogstav, så når den regisreres så får den dette bogstav. Vælg et bogstav lidt oppe i alfabetet.
Avatar billede 220661 Ekspert
06. december 2011 - 19:51 #2
Man tildeler drevbogstaver i diskhåndteringen.
Avatar billede mikkel45 Novice
06. december 2011 - 20:04 #3
Hej
Tak for indput, men det vidste jeg nu godt, men det er ikke kun mine egne computere den skal gå på, da jeg har prisberegner og andre ting includeret i arket, og det kan jeg finde på at tage med på job så jeg også kan passe forretningen på jobbet
Avatar billede kabbak Professor
06. december 2011 - 21:35 #4
1.
"Jeg har i et excel dokument noget VBA, som henter noget data fra C: drevet"

Hvis det er en fremmed computer, skal den vel ikke hente på C drevet ??.

2.

Du kan jo altid bruge koden 'Sti = ThisWorkbook.path', til at finde dine filer med, hvis Excel dukumentet med koden er samme sted, eller i underliggende biblioteker.
Avatar billede mikkel45 Novice
07. december 2011 - 06:23 #5
Godmorgen Kabbak
1000 tak, hvordan skal jeg så sætte den ind så dem passer med

Sub gemSom()
Const filstiNavn = "C:\Users\Peter\Desktop"
Dim navn As String, fakturaNr As String
Avatar billede kabbak Professor
07. december 2011 - 17:38 #6
Const filstiNavn = "C:\Users\Peter\Desktop"

Const filstiNavn = ThisWorkbook.path
Avatar billede acore Ekspert
07. december 2011 - 19:34 #7
Følgende kode illustrerer hvordan du kan finde alle "removable drives":

Declare Function myGetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Sub GetDriveInfo()
  Dim i As Integer
  Dim DriveLetter As String
  Dim s As String

  s = ""
  For i = 65 To 90 'A-Z
    DriveLetter = (Chr(i) & ":\")
    If (myGetDriveType(DriveLetter) = 2) Then s = s & Left(DriveLetter, 2) & vbCrLf
  Next
  MsgBox s
End Sub

Med den kan du måske komme videre?
Avatar billede mikkel45 Novice
12. december 2011 - 18:19 #8
Øv
Det er jeg sq nok for dum til, nu har jeg i begge formler prøvet på alle måder, men åbenbart ikke den rigtige
Jeg vedhæfter lige min VBA

Dim aktuelleCelle As String
Sub FakNr()
' FakNr Makro
' tildeler fakturanummer i feltet F8
Range("F8").Select
If ActiveCell.Value <> "" And IsNumeric(ActiveCell.Value) Then
' ingenting - er kørt tidligere bare sæt cursor i G8
  Range("B11").Select
Else
' opdater fakturanummer, og skriv i F8
  fil$ = "C:\Users\Peter\Desktop\FakNr.txt"
  Open fil$ For Input As 1
  Input #1, aktnavn
  Close 1
  aktnavn = aktnavn + 1
  Open fil$ For Output As 1
  Write #1, aktnavn
  Close 1
  ActiveCell.FormulaR1C1 = aktnavn
  Range("B11").Select
End If
End Sub
Sub gemSom()
Const filstiNavn = "C:\Users\Peter\Desktop"

Dim navn As String, fakturaNr As String
 
    navn = Range("B11")
    fakturaNr = Range("F8")
 
Rem Er der faktura-nr i F8
    If fakturaNr = "" Then
        ActiveWorkbook.SaveAs filstiNavn + "\prøvefakturaer\" & navn & ".xlsm"
    Else
        ActiveWorkbook.SaveAs filstiNavn + "\færdige fakturaer\" & fakturaNr & " " & navn & ".xlsm"
    End If
End Sub
Avatar billede kabbak Professor
12. december 2011 - 19:26 #9
prøv denne, du skal have FakNr.txt, samme sted som arket med koden her.

Dim aktuelleCelle As String
Dim filstiNavn  As String


Sub FakNr()
filstiNavn = ThisWorkbook.Path

' FakNr Makro
' tildeler fakturanummer i feltet F8
Range("F8").Select
If ActiveCell.Value <> "" And IsNumeric(ActiveCell.Value) Then
' ingenting - er kørt tidligere bare sæt cursor i G8
  Range("B11").Select
Else
' opdater fakturanummer, og skriv i F8
  fil$ = filstiNavn & "\FakNr.txt" ' samme bibliotek som denne excel mappe
  Open fil$ For Input As 1
  Input #1, aktnavn
  Close 1
  aktnavn = aktnavn + 1
  Open fil$ For Output As 1
  Write #1, aktnavn
  Close 1
  ActiveCell.FormulaR1C1 = aktnavn
  Range("B11").Select
End If
End Sub
Sub gemSom()

Dim navn As String, fakturaNr As String
filstiNavn = ThisWorkbook.Path
    navn = Range("B11")
    fakturaNr = Range("F8")
 
Rem Er der faktura-nr i F8
    If fakturaNr = "" Then
        ActiveWorkbook.SaveAs filstiNavn & "\prøvefakturaer\" & navn & ".xlsm"
    Else
        ActiveWorkbook.SaveAs filstiNavn & "\færdige fakturaer\" & fakturaNr & " " & navn & ".xlsm"
    End If
End Sub
Avatar billede mikkel45 Novice
13. december 2011 - 06:26 #10
1000 tak Kabbak
Ja jeg håber da jeg en dag finder de vise sten i VBA
lægger du ikk lige et svar :-)
Avatar billede kabbak Professor
13. december 2011 - 23:07 #11
;-))
Avatar billede 220661 Ekspert
14. december 2011 - 20:48 #12
Kan se der er blevet brugt noget kode fra min faktura skabelon.
Det er da super at det kan bruges.
Avatar billede mikkel45 Novice
15. december 2011 - 20:44 #13
Hej 220661
Ja det er en rigtig dejlig skabelon du sendte mig, jeg har brugt en masse fra den, men også lavet meget om på den, du kan måske også bruge nogle af mine ideer til din ?
og 1000 tak for hjælpen
Mvh
Peter
Avatar billede 220661 Ekspert
15. december 2011 - 21:12 #14
Velbekomme.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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