Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Öppna och använda workbooks via VBA

Postades av 2002-04-23 10:23:46 - Niklas Jansson, i forum microsoft office, Tråden har 13 Kommentarer och lästs av 1189 personer

Jag skulle behöva öppna en workbook, hämta ett värde och stänga den igen vid öppnandet av en annan:

Workbook_Open()
dim wb as workbook
set wb = workbooks.open("Bla.xls")
i = wb.Worksheets(1).range("Tal")
wb.close
end sub

Detta funkar inte när excel kör Workbook_Open. (Det verkar vara fler grejer som inte funkar). Finns det nåt lätt sätt att komma runt detta?

/Niklas Jansson


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 17:32:47 - Thommy Lantz

Testade din kod och det funkar för mig

Private Sub Workbook_Open()
Dim wb As Workbook
Dim i As Long
Set wb = Workbooks.Open("Bla.xls")
i = wb.Worksheets(1).Range("Tal")
wb.Close
ThisWorkbook.Sheets(1).Range("A1") = i
End Sub

Om du har koden i en vanlig modul händer ingenting
Koden måste ligga i modulen ThisWorkbook där den för övrigt är
fördefinerad

/Thommy


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 17:41:26 - Raderat konto

Niklas,

Följande borde fungera:

<code>
Private Sub Workbook_Open()
Dim iVarde As Integer

Application.ScreenUpdating = False

Workbooks.Open ThisWorkbook.Path & "\Diverse.xls"
iVarde = ActiveWorkbook.Worksheets(1).Range("A1")
ActiveWorkbook.Close

Application.ScreenUpdating = True

MsgBox iVarde
End Sub
</code>

Eller?

Mvh
XL-Dennis


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 18:07:51 - Niklas Jansson

Jäkla mystiskt. Nästan ingenting jag gjorde fungerade. Excel var liksom låst.
Jag flyttade runt lite funktioner, så nu funkar det, men tack för hjälpen i alla fall.

/Niklas Jansson


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 18:10:55 - Raderat konto

Niklas och alla andra,

XL har en tendens att "låsa sig" när vi arbetar med VBA och koden hänger sig ofta.

Misstänker att det har att göra med XL minneshantering.

Dock är det problemet i stort sett borta med version 2002 / XP.

Lösning. Starta om XL :-)

Bra att du fick till det till sist!

Mvh
XL-Dennis


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 19:10:55 - Andreas Hillqvist

Undvik att använda ActiveWorkbook. Du får ju en referens till den öppnade arbetsboken från open metoden. Rekomenderar er att använda den. Slipper strul om det skulle vara så att en annan arbetsbok är aktiv. Desutom kapslar det koden. Duktiga programmerare undviker globala variabler.


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-23 20:00:48 - Raderat konto

Andreas,

>Duktiga programmerare undviker globala variabler.

1. Duktiga programmerare skriver inte operativ kod i Workbook.Open-händelsen utan anropar subprocedurer istället ;-)

2. Generellt är det att rekommendera att deklarera procedur-och modul-variabler för alla objekt så även i XL.

Att referera till ActiveWorkbook är dock ett vedertaget sätt inom XL-världen.

Mvh
XL-Dennis





Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-24 15:11:09 - Niklas Jansson

Nu har jag upptäckt ett problem.<br>
<br>
Jag har gjort ett makro som öppnar två workbooks. I ena av dessa öppnar jag ytterligare en Workbook (i Workbook_Open) som jag hämtar värden ifrån.<br>
<br>
Problemet är att den inte öppnar boken, utan använder sig själv!<br>
<br>
Anropande kod:<br>

<code>
Public Sub Main()
Dim wbOld As Workbook, wbNew As Workbook
Application.FindFile
Set wbOld = Workbooks(Workbooks.Count)
Application.FindFile
Set wbNew = Workbooks(Workbooks.Count)
KopieraVärden wbOld, wbNew
End Sub
</code>
<br>Kod som anropas i samband med Workbook_Open för wbNew = ... :
<br>
<code>
Set wbPeriod = Workbooks.Open(ThisWorkbook.Path & "\Period.xls")
With wbPeriod.Worksheets("Period")
...
</code>

Det som är problemet är alltså att Workbooks.Open inte öppnar någon ny fil. (filen finns, men kommer senare ligga på ett annat ställe, så strunta i den)
<br><br>
Vad kan vara problemet?
<br><br>

/Niklas Jansson


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-24 17:51:21 - Andreas Hillqvist

Ett vedertaget sätt innebär inte att det är bra.

;O)


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-24 19:03:59 - Raderat konto

Andreas,

Självklart har du rätt i det och jag tar åt mig det du skriver :-)

Mvh
XL-Dennis


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-29 16:57:42 - Niklas Jansson

Jag har kollat igenom detta nu, och det verkar var en bugg i 97:an. (Har inte kollat på internet)
1. Du öppnar en workbook via ett makro
2. I Workbook_Open öppnar du en annan workbook.

När 2:an skall utföras händer ingenting. Som säkerhetsåtgärd har jag då lagt in en grej som stänger workbooken:

3. i Workbook_Open står det ThisWorkbook.Close

Detta fungerar inte heller. Observera att det bara är när jag öppnar filen från ett makro. Konstigt...

(Det är inget problem för mig eller så, men det kan nog vara det för någon annan så jag berättar vad jag upptäckt.)

/Niklas Jansson


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-29 17:53:02 - Raderat konto

Niklas,

Vilken version av XL 97 använder du?
- originalet
- SR-1
- SR-2

Mvh
Dennis


Svara

Sv: Öppna och använda workbooks via VBA

Postades av 2002-04-30 08:20:36 - Niklas Jansson

SR2 !

/Niklas Jansson


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 765
27 960
271 761
782
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies