), проблема обойдена

л этот макрос, который вставляет изображения из активного каталога в электронную таблицу Excel и масштабирует его, чтобы уместить в ячейку. Это работает довольно хорошо, за исключением изображений, которые поступают из источника, где их ориентация / вращение определены в данных EXIF. Итак, в:

В проводнике Windows - не вращаетсяОкно просмотра изображений - не вращаетсяIE - не повернутХром - повернутыйEXCEL - повернутый

Это все из-занекоторая проблема наследия с камеры, с которой было снято изображение. Кто-нибудь опубликоватьаналогичная проблема но он был помечен как дубликат, неправильно, и с тех пор игнорируется. Я нашел этонепонятный пост Кто-то связал класс чтения EXIF, я проверил его, и он дал мне то же самоеOrientation значение для всех моих изображений.

Проблемы: фото вращается правильно (YAY!), но егопозиция на 35-80 столбцов вправо (Boo!) и / или 200 строк вниз, а масштабирование отключено, поскольку оно смешивает поля ширины и высоты (Boo! x2).

Вот мой код:

For Each oCell In oRange
        If Dir(sLocT & oCell.Text) <> "" And oCell.Value <> "" Then
        'Width and Height set to -1 to preserve original dimensions.
            Set oPicture = oSheet.Shapes.AddPicture(Filename:=sLocT & oCell, LinktoFile:=msoFalse, savewithdocument:=msoTrue, Left:=oCell.Left + 10, Top:=oCell.Top + 10, Width:=-1, Height:=-1)

            oPicture.LockAspectRatio = True

        'Scales it down  
            oPicture.Height = 200
        'Adds a nice margin in the cell, useless             
            oCell.RowHeight = oPicture.Height + 20
            oCell.ColumnWidth = oPicture.Width / 4
        Else

            oCell.Offset(0, 1).Value = ""
        End If
        Next oCell

Размеры изображения могут быть переменными из неизвестных источников (но я уверен, что мы можем обвинить Samsung в этом). Ищете решение и / или объяснение без необходимости стороннего приложения.

Вотобразец изображений чтобы попробовать, первое изображение работает правильно, другие нет.

Ответы на вопрос(1)

Ваш ответ на вопрос