13. februar 2002 - 12:14Der er
8 kommentarer og 1 løsning
GetSetting i VBA
Mit problem er som følge af diskussionen D 12/2 om skrivning til Reg. databasen. Først mit program. Jeg har en liste A og en liste B. ListeA indlæses til combobox1, hvor de valg der nu er i combobox1, bruges til åbning af en ny workbook indeholdende ListeB
Private Sub UserForm_Initialize() Dim ItemList(100) As String Dim ItemID As Integer
On Error GoTo Fejl StartUp: FName = GetSetting("ListView", "liste", "Stinavn", "") Select Case FName Case Is = False, "" FName = Application.GetOpenFilename _ (filefilter:="Text Files(*.txt),*.txt,All Files (*.*),*.*") SaveSetting "ListView", "liste", "Stinavn", FName
End Select
ItemX = 0 Open FName For Input As #1 Do While EOF(1) = False ItemX = ItemX + 1 Line Input #1, ItemList(ItemX) Loop Close #1
ComboBox1.Clear For ItemID = 1 To ItemX ComboBox1.AddItem ItemList(ItemID) Next Exit Sub Fejl: DeleteSetting "ListView", "liste" GoTo StartUp End Sub
Private Sub ComboBox1_Change() FName = GetSetting("ListView25", "diffliste", "Stinavn", "") Workbooks.OpenText FileName:=FName & ComboBox1.Text End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ActiveWorkbook.Close End Sub
Som man kan læse bliver den nye sti til liste B for lang med \ListeA, da Fname jo er stien til ListeA. ListeA og ListeB er begge txt filer og ligger i samme mappe.
? hvordan løses dette problem? Det skulle jo helst fungere sådanne så man kun skal søge efter ListeA hvis mappen med ListeA og ListeB evt. flyttes!
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Hej Bambus Split funktionen er en fin lille fætter til dette formål - yderligere info kig i VBA hjælpen.
Dim vntSplit As Variant 'Opsplitter stien FName i et Array vntSplit = Split(FName, "\") 'Sætter FName = FName - det sidste Array (ListeA) og tilføjer ListeB's sti FName = Left(FName, Len(FName) - Len(vntSplit(UBound(vntSplit)))) & ListeB
OK lidt mere hjælp. Sub SplitString() Dim vntSplit As Variant Dim iCount As Integer vntSplit = Split("C:\Folder1\Folder2\Folder3\File1.xls", "\") For iCount = 0 To UBound(vntSplit) Debug.Print vntSplit(iCount) Next iCount End Sub
sorry :)) Excel97, og split er ikke tilgængelig... øv øv jeg kender godt funktionen og har før haft brug for den, når der skal indlæses data fra en txt. file. :( men er der ikke en funktion i vba der fungere som like (men ikke kun giver true / false) ?
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.