XLS-makro pro změnu velikosti obrázku(ů)

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

MK_Vs
Level 2
Level 2
Příspěvky: 185
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod MK_Vs » 02 úno 2011 18:39

Dobrý den,

jakým příkazem pomocí VBA zmenším vždy aktuálně vybraný obrázek(y), nebo zástupce na definovanou velikost. Pomocí záznamu makra bohužel vyberu jen aktuální obrázek. Každý další získává vyšší číslo a není poté příkazem není nalezen.

Jak bude prosím vypadat makro pro výběr obrázku a jeho změnu velikosti na definované rozměry?

Děkuji za pomoc.

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod mike007 » 02 úno 2011 19:29

Asi nějak takto:

Kód: Vybrat vše

Sub zmenit_velikosti()
ActiveSheet.Pictures.Select
Selection.ShapeRange.ScaleWidth 1.34, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 1.34, msoFalse, msoScaleFromTopLeft
End Sub


Hodnoty (1.34) si změň podle sebe.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod m.niki » 02 úno 2011 22:25

nedávno jsem taky bezvýsledně řešil tento problém, nemůžu přijít na to jak jednoznačně definovat nějakým názvem vložený obrázek, aby s ním mohlo makro pracovat. Teď jsem zkusil kód, který zde vložil mike007, ale na obrázek vložený v sešitě to vůbec nereaguje, označí to všechny ovládací talačítka a pracuje s nimi (Excel 2007)

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod mike007 » 02 úno 2011 22:37

Vyzkoušel jsem to v Excel 2007 a pracuje korektně.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod m.niki » 02 úno 2011 22:54

tak jsem to zkusil znovu a zjistil jsem, že to (u mě) funguje, pouze pokud se na listu nenachází žádný ovládací prvek ActiveX, ovládací prvek formuláře tomu nevadí, když je na listu pouze obrázek tak to funguje v pohodě.

MK_Vs
Level 2
Level 2
Příspěvky: 185
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod MK_Vs » 03 úno 2011 06:08

Tímto postupem lze zmenšit o určitý poměr. Pokud by bylo cílem mít všechny obrázky nebo i ikony vložených dokumentů stejné, bylo by možno použít předdefinovanou šířku nebo výšku?

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod navstevnik » 03 úno 2011 08:47

V te nejjednodussi podobe pro vlozene obrazky "Picture xx", demo uprav, zmen dle potreby:

Kód: Vybrat vše

Option Explicit

Sub SrovnatVelikosti()
  Dim Shp As Shape
  Dim W As Single, H As Single
  W = 100: H = 150  ' pozadovane rozmery obrazku
  For Each Shp In ActiveSheet.Shapes
    If Left(Shp.Name, 4) = "Pict" Then
      Shp.LockAspectRatio = msoFalse  ' odemknou uzamknuti pomeru stran
      Shp.Width = W
      Shp.Height = H
    End If
  Next Shp
  Set Shp = Nothing
End Sub

nebo:

Kód: Vybrat vše

Option Explicit

Sub UpravitSirkuObr()
  Dim Shp As Shape
  For Each Shp In ActiveSheet.Shapes
    If Shp.Type = msoPicture Then
      With Shp
        .LockAspectRatio = msoTrue ' uzamknout pomer stran
        .Width = 100 ' sirka obrazku
      End With
    End If
  Next Shp
  Set Shp = Nothing
End Sub

MK_Vs
Level 2
Level 2
Příspěvky: 185
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod MK_Vs » 03 úno 2011 19:51

DObrý den, na ikonu jako zástupce souboru tento postup nefunguje. Lez měnit velikost i u ikon, vložených zástupců souborů?

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: XLS-makro pro změnu velikosti obrázku(ů)

Příspěvekod navstevnik » 04 úno 2011 08:54

Pripoj soubor obsahujici vsechny objekty vlozene na list, u kterych chces upravit rozmer (ktery - W,H a jak- pomerne, absolutne).


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1256
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů