webForumDet fria alternativet

decimal funkar inte i excel 2010 (VBA)

Programmeringur Programmering - Övrigt

7 svar · 1 542 visningar · startad av evilaid

Medlem sedan apr. 2009433 inlägg
Frågan#1

Hej på er..

Vad förbannad man blir när man börjar använda Office 2010 och inser att de makron som fungerat kanon i excel 2003 inte fungerar som dom ska i Excel 2010..

Försökt söka lite men inte lyckats hitta något om problemet..

Följande rad läser av en bild som finns i bladet och kollar höjden på denna..

BildRegelHöjd = ActiveSheet.Pictures("temp").Height

I Excel 2003 får variabeln "BildRegelHöjd" värdet 5,25 då det är höjden på bilden som heter "temp".

Men i Excel 2010 får varibeln värdet 5, här försvinner decimalen i variabeln. Variabeln är deklarerad som Double enligt:

Dim AntalMMPerPixel, IsoHöjd, BildRegelHöjd As Double

Är helt oförstående till fenomenet, någon som förstår hur det kan bli såhär?

Mvh

Medlem sedan jan. 2007177 inlägg
#2

evilaid skrev:

Är helt oförstående till fenomenet, någon som förstår hur det kan bli såhär?

Decimalpunkt/decimalkomma problematiken (internationell standard "." och svensk standard ",") skulle kanske kunna ge denna typ av fel. Vilket skiljetecken man använder brukar man kunna sätta på olika nivåer (operativsystem, program eller enskilda dokument) och det brukar ibland vara problematiskt att få detta att fungera hela vägen utan strul.

Medlem sedan mars 2004485 inlägg
#3

i2n2 skrev:

Decimalpunkt/decimalkomma problematiken (internationell standard "." och svensk standard ",") skulle kanske kunna ge denna typ av fel. Vilket skiljetecken man använder brukar man kunna sätta på olika nivåer (operativsystem, program eller enskilda dokument) och det brukar ibland vara problematiskt att få detta att fungera hela vägen utan strul.

Just vad jag tänkte när jag såg rubriken, man kan ändra det i Excel, mins inte exakt vart men typ språkinställningar / internationalization. Ser du att det blir fel resultat eller ser du fel siffra i en cell? Man kan väll ställa in vad cellen ska visa också så det kan ju vara det också.

Medlem sedan apr. 2009433 inlägg
#4

Jag har varit inne på det också... Grejen är den att makrot fungerar ju klockrent på det systemet där jag kör windows Xp pro Swe och Office pro 2003 Swe. Det systemet där dessa problem uppstår kör jag Windows 7 Eng och Office 2010 Swe.

Så visste skulle problematiken kunna ligga här.. Jag har dock inte hitta någonstnas att ändra detta..

Medlem sedan apr. 2009433 inlägg
#5

Nu har jag hittat något

Upptäckte detta nu.

jag använder denna funktion för att infoga bilder

Sub InfogaFönster(Bild, Namn, FrånVänster, FrånTop, Bredd, Höjd) 'Infogar bild
    Dim myPic As Picture
    Set myPic = ActiveSheet.Pictures.Insert(Modul1.BildMap & Bild)
    With myPic
        .Locked = False
        .Top = FrånTop
        .Left = FrånVänster
        .Name = Namn
        .Width = Bredd
        .Height = Höjd
    End With
End Sub

Nui har jag kommit på något, det ser ut som att excel behåller proportioner för bilden när jag ändrar bredd eller höjd.
I ovan kod så sätter jag först bredden och därefter höjden för objektet. efter att bredden är satt till ex: 48, så efter att jag satt höjden så har bredd måttet ändrat sig till 54, vilken stämmer proporttionsmässigt med utgångmåtten på den bild jag infogat från början, här verkar det alltså som att proportionerna är låsta?
Har inte sett detta problem i excel 2003? Någon med någon vetskap om detta?

Mvh

Medlem sedan mars 2004485 inlägg
#6

evilaid skrev:

Så visste skulle problematiken kunna ligga här.. Jag har dock inte hitta någonstnas att ändra detta..

First google hit:
http://office.microsoft.com/en-us/excel-help/change-the-separator-for-thousands-and-decimals-HP003089676.aspx

Men det verkar inte vara det som är felet för det står att den använder systemets inställningar by default.

Edit: säg även detta: http://answers.microsoft.com/en-us/office/forum/office_2010-customize/inserting-images-in-excel-2010-and-2003/953af6d6-d37d-e011-9b4b-68b599b31bf5?msgId=33bb2e46-417e-e011-9b4b-68b599b31bf5

Medlem sedan apr. 2009433 inlägg
#7

Nja du har rätt, jag tror inte problemet ligger där. Just nu är det stora problemet att bildproportioner hela tiden bibehålls, ser ut som just också kan vara problemet som ställer det övriga också... fattar itne detta då det inte verkar behålla proprtionerna i office 2003 men u helt plötsligt i office 2007-2010 så är det tvärtom?

Medlem sedan apr. 2009433 inlägg
#8

Och här dök lösningen upp!

.ShapeRange.LockAspectRatio = msoFalse

I office 2003 verkar defaultvärde vara FALSE medan i office 2007-2010 är det TRUE. Skumt..

Hur som detta räddade många 10 tals sidor med kod :)

137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)