Перейти к содержанию
View in the app

A better way to browse. Learn more.

BrcBet.Com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как уменьшить разрешение скриншота?

Featured Replies

Опубликовано

Привет!

Уважаемые прогеры, этот всем известный макрос делает скриншот листа.

Можно в нём как-нибудь задать разрешение этого скриншота, а то когда этих картинок набирается несколько сотен, то папка начинает весить несколько гигов? Не чтобы сильно критично, но всё же)

 

Sub Range_to_Picture()
    Dim sName As String, nName As String, dName As String, wsTmpSh As Worksheet
    nName = Range("AO1").Value
    dName = Range("K2").Value
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Range("A1:AG38").Select
    With Selection
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & Format(dName, "dd/mm/yy hh mm") & "_" & nName
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Parent.Select
            .Paste
            .Export Filename:=sName & ".jpg", FilterName:="JPG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Range("A1").Select
End Sub

 

 

Изменено пользователем Эльдар Надирович

Опубликовано
  • Постоянный

Если эта программа по ставкам, то советую забить на скриншоты и начать работать по архивам. Это в 50-100 раз ускорит поиск прибыльных систем. Если нет, то ждите ответ от спецов по коду.

Опубликовано
  • Автор
4 минуты назад, Farel сказал:

Если эта программа по ставкам, то советую забить на скриншоты и начать работать по архивам. Это в 50-100 раз ускорит поиск прибыльных систем. Если нет, то ждите ответ от спецов по коду.

имхо работа только по архивам это путь в никуда, плавали, знаем, но вам в этом ещё предстоит убедиться) 

 

 

Опубликовано
  • Постоянный
Только что, Эльдар Надирович сказал:

имхо работа только по архивам это путь в никуда, плавали, знаем, но вам в этом ещё предстоит убедиться) 

 

 

Сильно ошибаетесь. Всю инфу со скриншотов я перенес в архив, поэтому скриншоты мне не нужны. Все просто. Да и замучаетесь по скринам выискивать в ручную взаимосвязи, когда в архиве нажатием по любому фильтру я это вижу через секунду. 

Опубликовано
16 минут назад, Эльдар Надирович сказал:

Привет!

Уважаемые прогеры, этот всем известный макрос делает скриншот листа.

Можно в нём как-нибудь задать разрешение этого скриншота, а то когда этих картинок набирается несколько сотен, то папка начинает весить несколько гигов? Не чтобы сильно критично, но всё же)

 

Sub Range_to_Picture()
    Dim sName As String, nName As String, dName As String, wsTmpSh As Worksheet
    nName = Range("AO1").Value
    dName = Range("K2").Value
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Range("A1:AG38").Select
    With Selection
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & Format(dName, "dd/mm/yy hh mm") & "_" & nName
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Parent.Select
            .Paste
            .Export Filename:=sName & ".jpg", FilterName:="JPG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Range("A1").Select
End Sub

 

 

PNG попробуй поставить вместо JPG

Screenshot_1.png

Изменено пользователем SergioJek

Опубликовано
  • Автор
2 минуты назад, SergioJek сказал:

PNG попробуй поставить вместо JPG

А он почему-то  и так сохраняет в png) поменял, но эффект, тот же.
Мне кажется в этом месте можно задать разрешение:
 

With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart

 

 

Опубликовано
  • Автор
5 минут назад, Farel сказал:

Сильно ошибаетесь. Всю инфу со скриншотов я перенес в архив, поэтому скриншоты мне не нужны. Все просто. Да и замучаетесь по скринам выискивать в ручную взаимосвязи, когда в архиве нажатием по любому фильтру я это вижу через секунду. 

блин, Фарель вот даже ведь не знаешь для чего мне скриншоты и все равно пытаешься продать свою "чудо" прогу, но продолжай, это веселит)  

Опубликовано
  • Постоянный
1 минуту назад, Эльдар Надирович сказал:

блин, Фарель вот даже ведь не знаешь для чего мне скриншоты и все равно пытаешься продать свою "чудо" прогу, но продолжай, это веселит)  

Я ничего не пытаюсь продать. Даю дельный совет. Скинь скрин посмотреть хоть, что там такое на нем, что нельзя скинуть в архив? Если я смог даже графики закинуть в свой архив. И после нашел сотни прибыльных алгоритмов. А на скринах ничего этого не было видно.

Опубликовано
8 минут назад, Эльдар Надирович сказал:

А он почему-то  и так сохраняет в png) поменял, но эффект, тот же.
Мне кажется в этом месте можно задать разрешение:
 

With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart

 

 

With Range("B2:F3")
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & ActiveSheet.Name & "_Range"
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Parent.Select
            .Paste
            .Export Filename:=sName & ".gif", FilterName:="GIF"
            .Parent.Delete
        End With
    End With
Можно еще так поиграться
ChartObjects.Add(50, 40, 200, 100)

Изменено пользователем SergioJek

Опубликовано
  • Автор
5 минут назад, SergioJek сказал:
With Range("B2:F3")
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & ActiveSheet.Name & "_Range"
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Parent.Select
            .Paste
            .Export Filename:=sName & ".gif", FilterName:="GIF"
            .Parent.Delete
        End With
    End With
 

Вот если тут задать размеры, то норм работает
было

With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart

стало

With wsTmpSh.ChartObjects.Add(0, 0, 1200, 528).Chart 

Опубликовано
  • Автор

Всем спасибо, вроде разобрался, может кому нужно, вот:

 

Sub Range_to_Picture()
    Dim sName As String, nName As String, dName As String, wsTmpSh As Worksheet
    nName = Range("AO1").Value
    dName = Range("K2").Value
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Range("A1:AG38").Select
    With Selection
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & Format(dName, "dd/mm/yy hh mm") & "_" & nName
        With wsTmpSh.ChartObjects.Add(0, 0, 1920, 1080).Chart                                                                       'тут поменял разрешение
            .ChartArea.Border.LineStyle = 0
            .Parent.Select
            .Paste
            .Export Filename:=sName & ".jpg", FilterName:="JPG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Range("A1").Select
End Sub

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.