start en kommandoprompt, og skriv set så kommer en liste med data om bruger og maskine som man kan bruge i programmer HOMEDRIVE=C: HOMEPATH=\Users\[dit brugernavn]
så din kode sætter de to sammen til C:\Users\[dit brugernavn]
Jeg har en vba kode som kører fint i windows 7, men jeg synes at hvis programmet skal køre i windows 10 virker det ikke rigtigt. Har du erfaringer med om en opgradering fra windows 7 til windows 10 kan skabe problemer for eksisterende vba programmer.
Der burde ikke være forskel (udover design er de to systemer ret ens). Men du kan fx ramme problem hvis der på win10 er mapper med mellemrum i navne og uden mellemrum i win7. Kalder du programmer/dos så skal sti/filnanve være med " før og efter for at dos læser det som et.
Jeg prøver lige at vedlægge et eksempel, er en kode der overfører data til word fra en database:
Sub Kunde()
kundenr = InputBox("indtast kundenr")
If kundenr = "" Or Not IsNumeric(kundenr) Then Application.ScreenUpdating = False Selection.GoTo What:=wdGoToBookmark, Name:="kvantum" ActiveWindow.ActivePane.VerticalPercentScrolled = 0
Else
ActiveDocument.Unprotect Dim objConn As ADODB.Connection Dim objRs As ADODB.Recordset Dim strConnString As String Dim strSQL As String
Set objConn = New ADODB.Connection Set objRs = New ADODB.Recordset
hvis det er mellemrum så ret Kunder - bilag mv. - Dokumenter i linjen FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\SharePoint\Kunder - bilag mv. - Dokumenter\Kartoteker.MDb" til KUNDER~1 så du bruger FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\SharePoint\KUNDER~1\Kartoteker.MDb"
Kunder - bilag mv. - Dokumenter er den lange form, som tillader mellemrum i mappenavne. KUNDER~1 er den korte dos-form som systemet gemmer til hvis man har noget kode, der virker bedst uden mellemrum (på den originale 8.3 form i dos) Du kan se den, hvis du i kommandoprompt skiver cd \Users\[dit brugernavn]\SharePoint dir /x så vil der være en linje med KUNDER~1 Kunder - bilag mv. - Dokumenter så du ser kort og lang form hvis der er flere mapper, der starter med 'kunder - ' så vil de have ~2 ~3 osv
kunder~1.-DO er forkert det er sikkert kun kunder~1 så C\users\bji\DLG\kunder~1\kartotekter.MDb prøv at starte en kommandoprompt/powershell ved at højreklikke på windows-start ikon og skriv dir C\users\bji\DLG\kunder~1\kartotekter.MDb den skal vise filen - ellers prøv med C\users\bji\DLG\kunder~2\kartotekter.MDb til den vises, og ret så kunder~1.-DO i koden til fx kunder~1 eller hvilket nummer, der nu viser filen.
Programmet kører fint på en computer, men ikke på anden som har en nyere version af windows 10. Derfor troede jeg at det måske var derfor. Men fejlmeddelsen siger vel at programmet ikke kan finde kartoteket?
har lige set på min - win10 har opdateret powershell, og den vil ikke med filnavne i kort form. Du kan snyde og tvinge win10 til at bruge cmd.exe Så højreklik på Start, og vælg Kør, skriv cmd.exe og du er i den gamle 'dos-boks' hvor din rutine skal virke. lav evt en genvej på skrivebord, der kalder cmd.exe
kun en gang: du laver en genvej, hvor cmd.exe startes højreklik på genvejen og vælg egenskaber Destination skal være C:\Windows\System32\cmd.exe Start i skal være mappen, hvor du har dit vbs-script og det er så det. Når du vil køre din rutine, så klik på genvejen, og i det sorte 'dos' vindue skriver du navnet på rutinen (inkl .vbs)
Den kan desværre ikke kaldes samtidig med cmd, da den så bare suser igennem, og du kan ikke nå at se evt fejl før den lukker igen
Så vidt jeg kan se kører den i W10 ver. 1709 og ikke i ver.1803. Kan man skrive sig ud af det i programmet. Er det KUNDER~1 i programmet den ikke forstår?
og gem den som mitscript.bat i samme mappe som scriptet i din genvej til cmd retter du, så kaldet er med C:\Windows\System32\cmd.exe "c:\stientilvbs\mitscript.bat"
ret selv stientilvbs, mitscript.bat og mitscript.vbs til... ved at sætte " omkring sti og navn på bat-filen, så kan mellemrum tillades. Jeg kender ikke noget videre til powershell, og ved ikke, hvad der er ændret.
Ville det være umuligt, at omdøbe mappen \Kunder - bilag mv. - Dokumenter til noget uden mellemrum og punktum, fx \KunderBilagDok (husk at rette kunder~1 til også) hvis det virker, så er det powershell, der generer. Det kan være, det er ok bare du fjerner . i mv. så test også gerne \Kunder - bilag mv - Dokumenter hvis mappen skal hedde det.
i stifinder - gå til mappen, hvor databasen ligger - klik i mappen-linjen og kopier den erstat nu FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\DLG\Salgs-Administration\Kartoteker.MDb" med FilogSti = "(det du har kopieret)\Kartoteker.MDb"
Nu lagde jeg kartoteket i en ny mappe: Salgs-Administration - Salgs-Administration FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\DLG\SALGS-~1\Kartoteker.MDb" Det virker fint i gamle windows version, med ikke i den nye !
hvorfor ikke bruge FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\DLG\Salgs-Administration\Kartoteker.MDb" der er ingen mellemrum og ingen punktummer, så det virker vel? Og nærlæs teksten i den msgbox, der dukker op - er det den 100% korrekte sti og filnavn?
hvorfor piller du ved mappenavn? SALGS-~1\ADM er forkert. hvis du ikke taster det jeg skriver, så får du aldring en løsning. Hvis du placerer databasen på skrivebord (og ikke kun en genvej!), så FilogSti = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\Desktop\Kartoteker.MDb"
der skulle så komme en msgbox op, hvor du kan se den samlede sti, og det skulle være c:\users\(dit brugernavn)\Desktop\Kartoteker.mdb hvis der ikke kommer en msgbox op, så ligger fejlen i en anden linje i koden
evt på win10, Indstillinger / Start / Processlinje der er en Erstat kommandoprompt med powershell... Slå den fra og test igen
hvis du omformulerer spørgsmål, og skriver præcist, hvad problemet er, og evt linket til denne tråd, så kan andre kigge på det. Evt, hvis der er nogle, der kan få adgang til din pc pr fjernkontrol, så de kan se, hvad der sker (hvis du fx har teamviewer på). Jeg er så ikke til fjernadgang, da jeg så kan beskyldes for alle ulykker på maskinen.
Alt, hvad der er med til en løsning, skal med. Så jo, skriv, hvad der lykkes, og hvor det går galt. Hvad der sker på win10, når den ikke viser det ønskede (fejlkoder, msgbox osv). Det er jo ikke en gættekonkurrence, men et håb om at finde en årsag til en fejl.
Synes godt om
Ny brugerNybegynder
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.