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


Mystiskt fel....

Postades av 2004-09-20 10:55:43 - Jan-Christer Berggren, i forum microsoft office, Tråden har 6 Kommentarer och lästs av 968 personer

Följande kodavsnitt (Tack Åsa!) är tänkt att leta upp Image-objekt på totalt 9 olika flikar i Excel och lägga dessa i en två-dimensionell vektor:

For i% = 2 To 10
nIdx = 0
For Each oObj In Sheets(i%).OLEObjects
If TypeName(oObj.Object) = "Image" Then
oObj.Object.BorderStyle = fmBorderStyleNone
nIdx = nIdx + 1
Set imBox(i%, nIdx) = oObj
End If
Next oObj
MsgBox i% & " " & nIdx
Next i%

Fungerar alldeles utmärkt för alla flikar (vilket jag ser av utskriften i meddelande-boxen), utom för EN flik (i% = 5) där jag får felmeddelandet: "Kunde inte hitta Object egenskapen för OLEObject klassen". Felet inträffar i If-satsen med TypeName.

Trodde att det berodde på något i fliken som sådan, varför jag helt enkelt kopierade en av de andra (samtliga flikar har likadant utseende/design) och därefter tog bort den "felaktiga". Samma fel!

Någon som har en aning om vad detta beror på?


Svara

Sv: Mystiskt fel....

Postades av 2004-09-20 13:19:21 - Pelle Johansson

Det första jag tänker på är att du loopar för långt. Om du skriver for i=2 to 10 är det ju inte säkert att det finns 10 objekt. Ibland är variabler s.k. zero-based, vilket betyder att det första objektet är 0, och istället för 5 är det alltså 4. Så testa att skriva for x = a to b-1


Svara

Sv: Mystiskt fel....

Postades av 2004-09-20 15:17:20 - Åsa Holmgren

Ja, det var verkligen mystiskt!

Undrar om det kan vara något OLEObject som inte är laddat, kontroller är alltid laddade men något annat objekt kanske. Jag fick samma fel när jag länkade in ett worddokument som jag sedan raderade innan jag körde din kod.

Testa lite felsökning, koden nedan markerar det objekt där felet uppstod

<code>
On Error Resume Next
For i% = 1 To Sheets.Count
nIdx = 0
For Each oObj In Sheets(i%).OLEObjects
If TypeName(oObj.Object) = "Image" Then
nIdx = nIdx + 1
If Err.Number <> 0 Then
MsgBox "Fel på flik " & i% & ", objekt " & nIdx
With Sheets(i%)
If .Visible = False Then .Visible = True
.Select
.OLEObjects.Select
End With
Err.Clear
Exit Sub
End If
End If
Next oObj
MsgBox nIdx & " objekt på flik " & i%
Next i%
</code>


Svara

Sv: Mystiskt fel....

Postades av 2004-09-20 15:38:06 - Jan-Christer Berggren

Tack för svaren, Pelle och Åsa!

Grunnade inte mera på problemet, utan gjorde helt sonika så att jag först helt tog bort aktuell flik och sedan tog en av de övriga och kopierade i den borttagnas ställe...och si..det fungerade! Varför kan man ju fråga sig. Har inte hunnit laborera med din kod än Åsa.

I anslutning till detta körde jag dock ånyo in i väggen (om det är ok att dra detta problem i denna tråd, de har förvisso med varandra att göra eftersom det handlar om bild-objekt i samma applikation):

Följande kod fungerar uppenabrligen (bilderna hamnar snyggt anpassade till objektets storlek i arket:

Private Sub btnCommandButton1_Click()

Image1.PictureSizeMode = fmPictureSizeModeZoom
Image2.PictureSizeMode = fmPictureSizeModeZoom

Image1.Picture = LoadPicture("C:\Pemel\produkter\bild1.jpg")
Image2.Picture = LoadPicture("C:\Pemel\produkter\bild2.jpg")

End Sub


Men, denna gör det inte! Jag tycker det borde vara samma sak:

Dim imBox(2) As OLEObject
_____________________________________________________________

Private Sub btnCommandButton1_Click()
Dim oObj As OLEObject
nIdx = 0
For Each oObj In Sheets(1).OLEObjects
If TypeName(oObj.Object) = "Image" Then

nIdx = nIdx + 1
Set imBox(nIdx) = oObj
End If
Next oObj

imBox(1).Object.PictureSizeMode = fmtPictureSizeModeZoom
imBox(1).Object.Picture = LoadPicture("C:\Pemel\produkter\bild1.jpg")
imBox(2).Object.PictureSizeMode = fmtPictureSizeModeZoom
imBox(2).Object.Picture = LoadPicture("C:\Pemel\produkter\bild2.jpg")

End Sub

Titttar jag i egenskapsrutan för bild-objekten så vägrar den ändra "PictureSizeMode" till "Zoom", med
påföljd att bilderna inte anpassas till bild-objektens fysiska storlek.

Återigen(suck)....varför tror ni?


Svara

Sv: Mystiskt fel....

Postades av 2004-09-20 16:40:05 - Åsa Holmgren

Det fungerade bra för mig när jag hade tagit bort ett "t" ur konstantnamnet så att det står "fmPictureSizeModeZoom".


Svara

Sv: Mystiskt fel....

Postades av 2004-09-20 23:30:47 - Jan-Christer Berggren

Ja jisses...vilket pucko man är! Jag brukar inte missa sånt....men var väl trött...
Tack återigen Åsa, du är en ständig källa till glädje! !


Svara

Sv: Mystiskt fel....

Postades av 2004-09-22 16:16:36 - Jan Bulér

Använd <code>Option Explicit</code> så hade du fått besked vid kompileringen.


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 779
27 960
271 761
420
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