13. november 2017 - 14:00Der er
2 kommentarer og 1 løsning
Workbooks collection i Excel 2013
Hej.
Jeg har lavet noget VBA kode i Excel 2013, som looper gennem alle åbne Excel-filer, som er åbne. Koden ser sådan ud:
Dim CountWb As Integer Dim bookCount Dim Invalid, Missing, SumofOmplacering As Integer AWB = ThisWorkbook.Name
CountWb = 0
For Each bookCount In Workbooks If bookCount.Name <> AWB Then book = bookCount.Name End If CountWb = CountWb + 1 Next bookCount
osv osv...
Problemet med dette er, at i Excel 2013, tæller det ikke med, hvis man samtidig har et regneark åben i Excel 2007 (begge to er på min maskine), så linjen 'For Each bookCount in Workbooks..' ser kun åbne regneark i Excel 2013.
Er der nogen af jer Eksperter, som kan fortælle mig, hvordan jeg kan tælle 2007-regnearket med (og ja, det SKAL være 2007 for det specifikke regneark..)?
Du er nok nødt til at lave et object med Excel 2007 som f.eks. "Set xlApp = CreateObject("Excel.Application.11")" åbne din workbook med det object og lade det indgå i din sammentælling ved at loope gennem både "Application.Workbooks" & "xlApp.Workbooks" ?
Hvis jeg kører min VBA-kode i Excel 2013 og den anden Excel-fil allerede ER åben i Excel 2007, hvordan skal koden så se ud (jeg tænker ikke jeg skal køre en CreateObject...)?
Lav et loop, der gennemløber alle processer/vinduer via kald til 'GetWindow'. Hvis pågældende process/vindue er et Excel applikation, så gennemløb alle åbne Workbooks i pågældende Excel applikation.
Lidt omstændigt, men ikke umuligt, og jeg tror, det er den bedste (eneste?) måde, at gøre det på.
Synes godt om
1 synes godt om dette
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.