Microsoft Office

Себастьян Перейро

торговець чорним деревом
Реєстрація
09.08.09
Місто
Михайлівка
Телефон
Lenovo P2
Там бы ещё надо нужные расширения добавить в код, так как пример не на все самые ходовые прописаны.
для моих задач хватает JPG.


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


[MENTION=3072]SDA[/MENTION], если сможете помочь, то как и что в код добавить, чтобы каждое фото были вот в такой рамке

 
Останнє редагування:

SDA

Реєстрація
11.08.09
Місто
Чернігів
Телефон
Samsung A52 (VF+KS)
[MENTION=3061]utwer[/MENTION], на 2007м проверить нет возможности, но на 2013м где-то так:
PHP:
Sub m_1()
Dim oDocument As Word.Document
Dim Флаг As Boolean
Dim oTable As Word.Table
Dim FileSystemObject As Scripting.FileSystemObject
Dim Папка As Scripting.Folder
Dim Файл As Scripting.File
Dim ИмяПапки As String
Dim Вопрос As String
Dim НеизвестныеФайлы As String
Dim oCell As Word.Cell
Dim i As Long
Dim oInlineShape As Word.InlineShape
'Проверка, что документ, в который будут вставляться фотографии, открыт.
    For Each oDocument In Documents
        If oDocument.Name = "Вставка фотографий.doc" Then
            Флаг = True
            Exit For
        End If
    Next oDocument
    If Флаг = False Then
        MsgBox "Документ, в который надо вставлять фотографии, не открыт", vbExclamation
        Exit Sub
    End If
'Просмотр папки с фотографиями. Если в этой папке окажутся форматы
'(последние буквы после точки в названии файла), не указанные в коде,
'то будет создан их список. Если в этом списке окажутся фотографии,
'то в код надо добавить форматы этих фотографий. Если изменения в код
'не будут внесены, то эти файлы из списка не будут добавлены в документ,
'даже если они будут фотографиями.
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выберие папку с фотографиями"
        If .Show = 0 Then
            Exit Sub
        End If
        ИмяПапки = .SelectedItems(1)
    End With
    Вопрос = MsgBox("Была выбрана следующая папка" & vbCr & ИмяПапки, vbOKCancel + vbExclamation)
        If Вопрос = vbCancel Then
            Exit Sub
        End If
    Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
    Set Папка = FileSystemObject.GetFolder(ИмяПапки)
    For Each Файл In Папка.Files
        If InStr(Файл.Type, "JPEG") = 0 And InStr(Файл.Type, "PNG") = 0 And _
            InStr(Файл.Type, "JPG") = 0 And InStr(Файл.Type, "TIFF") = 0 And _
            InStr(Файл.Type, "TIF") = 0 And InStr(Файл.Type, "GIF") = 0 And _
            InStr(Файл.Type, "Точечный рисунок") = 0 Then
            НеизвестныеФайлы = НеизвестныеФайлы & vbCr & Файл.Name
        End If
    Next Файл
    If НеизвестныеФайлы <> "" Then
        Вопрос = MsgBox("В папке с фотографиями находятся неизвестные коду форматы файлов." & vbCr & _
                "Просмотреть эти файлы? Среди них могут оказаться фотографии.", _
                vbCritical + vbYesNo)
        If Вопрос = vbYes Then
            Set oDocument = Documents.Add
            oDocument.Range = НеизвестныеФайлы
            Exit Sub
        End If
    End If
'Помещение в переменную oDocument документа, в который вставляем фотографии.
'В дальнейшем, в коде будем указывать не документ, а переменную oDocument,
'которая и будет из себя представлять этот документ.
    Set oDocument = Documents("Вставка фотографий.doc")
    oDocument.Sections(1).PageSetup.Orientation = wdOrientLandscape
'Создание образца таблицы и помещение её в автотекст.
    With oDocument
        Set oTable = .Tables.Add(.Range(Start:=.Range.End - 1, End:=.Range.End - 1), _
            NumRows:=2, NumColumns:=2, DefaultTableBehavior:=wdWord8TableBehavior, _
            AutoFitBehavior:=wdAutoFitWindow)
            With oTable
                .Range.Cells.VerticalAlignment = wdCellAlignVerticalTop
                .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
            End With
    End With
    NormalTemplate.AutoTextEntries.Add Name:="ТаблицаДляФотографий", Range:=oDocument.Tables(1).Range
'Добавление в документ новых таблиц и вставка в их ячейки фотографий.
    For Each Файл In Папка.Files
        If InStr(Файл.Type, "JPEG") > 0 Or InStr(Файл.Type, "PNG") > 0 Or _
            InStr(Файл.Type, "JPG") > 0 Or InStr(Файл.Type, "TIFF") > 0 Or _
            InStr(Файл.Type, "TIF") > 0 Or InStr(Файл.Type, "GIF") > 0 Or _
            InStr(Файл.Type, "Точечный рисунок") > 0 Then
            If i = 4 Then
                With oDocument
                    .Range(Start:=.Range.End - 1, End:=.Range.End - 1).InsertParagraph
                    NormalTemplate.AutoTextEntries("ТаблицаДляФотографий").Insert _
                        Where:=.Range(Start:=.Range.End - 1, End:=.Range.End - 1), RichText:=True
                End With
                i = 0
            End If
            i = i + 1
            oDocument.InlineShapes.AddPicture Файл.Path, SaveWithDocument:=True, _
                Range:=oDocument.Tables(oDocument.Tables.Count).Range.Cells(i).Range
        End If
    Next Файл
    For Each oInlineShape In ActiveDocument.InlineShapes
    oInlineShape.Borders.OutsideLineStyle = wdLineStyleDouble
    oInlineShape.Borders.OutsideLineWidth = wdLineWidth150pt
Next oInlineShape
End Sub
 

Себастьян Перейро

торговець чорним деревом
Реєстрація
09.08.09
Місто
Михайлівка
Телефон
Lenovo P2
Кто по экселю и математике может помочь разобраться, вообщем есть исходные данные - 4 точки, по которым в экселе нарисовал график, затем добавил линию тренда и в св-вах указал отображать зависимость функции и вот, что в итоге получил:



в формуле линии тренда значение "Е" и "е" - это просто математическая константа 2,718 ? если да, то почему при подстановке в формуле значения оси Х, к примеру 1992 и решить ее математически, не получается значение У - 5000 ?
 

Себастьян Перейро

торговець чорним деревом
Реєстрація
09.08.09
Місто
Михайлівка
Телефон
Lenovo P2
Останнє редагування:

Гудзак

Хатуль мелумад - тварина типу кіт, що йде ланцюгом
Реєстрація
29.01.14
Місто
Першотравенськ (Січеславщина)
Телефон
Moto G9+; Moto G5+
utwer, ИМХО, у тебя должно быть уравнение типа y=4240+kx (исходя из твоих данных). Это мне подсказывает школьная алгебра (склероз проклятый...) :cool:) Ну и значения X - отнюдь не 1990 и т.п. У тебя X меняется от 0 до т.д с шагом 0,5 (если за 0 по "иксам" принять 1990 год). Остается подобрать коэффициент k в уравнении - и все получится. В качестве грубого приближения k = 200 - тогда для 1992 имеем y = 4240 + 200 * (1992-1990)/0,5 = 4240 + 200*4 = приблизительно :cool: 5000. Что и требовалось получить.
 

Гудзак

Хатуль мелумад - тварина типу кіт, що йде ланцюгом
Реєстрація
29.01.14
Місто
Першотравенськ (Січеславщина)
Телефон
Moto G9+; Moto G5+
Да год (1990 и т.п.) вообще в этой задачке нельзя брать в качестве аргумента функции - а только смещение от начального, "нулевого" года (в данном случае 1990). Иначе будет полная бессмыслица. Классическое уравнение линии - y = y0 + k (x-x0). Как-то так. И это уравнение заведомо лучшая аппроксимация для данного случая.
 

Себастьян Перейро

торговець чорним деревом
Реєстрація
09.08.09
Місто
Михайлівка
Телефон
Lenovo P2
utwer, ИМХО, у тебя должно быть уравнение типа y=4240+kx (исходя из твоих данных). Это мне подсказывает школьная алгебра (склероз проклятый...) :cool:) Ну и значения X - отнюдь не 1990 и т.п. У тебя X меняется от 0 до т.д с шагом 0,5 (если за 0 по "иксам" принять 1990 год). Остается подобрать коэффициент k в уравнении - и все получится. В качестве грубого приближения k = 200 - тогда для 1992 имеем y = 4240 + 200 * (1992-1990)/0,5 = 4240 + 200*4 = приблизительно :cool: 5000. Что и требовалось получить.
Это получается линейная зависимость. Но по исходным данным мы стоим график, добавляем линию тренда и получаем нелинейную зависимость. Ну а суть задачи опр-ть приближённо ст-ть товара в 1995г., исходя из, стоимости этого товара с 1990 по 1993г.

ЗЫ: полученное уровнение в экселе тоже как-то неправильно описует
Зависимость У от Х.
Добавлено через 44 секунды
Неправильно ты, дядя Фёдор, бутерброд ешь!
y=[10^(-73)]*exp(0,0886*x).
Семён Семенович (с)
 
Останнє редагування:

Гудзак

Хатуль мелумад - тварина типу кіт, що йде ланцюгом
Реєстрація
29.01.14
Місто
Першотравенськ (Січеславщина)
Телефон
Moto G9+; Moto G5+
Но по исходным данным мы стоим график, добавляем линию тренда и получаем нелинейную зависимость.
Для определения вида нелинейной зависимости 4-х исходных точек очень мало, ИМХО (ну влом мне лезть в "талмуды", чтобы более аргументированно тебе ответить). Так что вопрос о нелинейности - открытый, а Эксель это такой инструмент, к-рый легко может завести не туда.

Заставил-таки построить твой график (x=0; 0,5; 1 и т.д). Исходная таблица: 0 - 4240, 1 - 4600, 2 - 5000, 3 - 5540).
1) Линейный тренд: y=430x+4200 (R2=0,9908)
2) Полиномиальная аппроксимация: y=45x^2+295x+4245 (R2=0,9995)
3) Экспоненциальная: y=4221,4exp(0,0886x) (R2=0,9986)

Выбирай. Судя по R2, полином 2-й степени - самое то. Но и уравнение линии тоже весьма достойная аппроксимация с R2=0,9908.
 

Кочевник

Ховрах-Терорист
Команда форуму
Реєстрація
30.01.08
Місто
Київ, Львів
Телефон
Sams Note 20 Ultra + S8
ПотапаПапа, не потрібно було прогулювати школу
 

Гудзак

Хатуль мелумад - тварина типу кіт, що йде ланцюгом
Реєстрація
29.01.14
Місто
Першотравенськ (Січеславщина)
Телефон
Moto G9+; Moto G5+
ПотапаПапа, не бери в голову. :cool: Просто как показывает многолетняя практика, иногда простая школьная алгебра и даже арифметика с непоганой точностью дают сто очков форы Экселю со товарищи. Это я как бывший... ну не важно кто :cool:)), говорю.
 

Кочевник

Ховрах-Терорист
Команда форуму
Реєстрація
30.01.08
Місто
Київ, Львів
Телефон
Sams Note 20 Ultra + S8
иногда простая школьная алгебра и даже арифметика с непоганой точностью дают сто очков форы Экселю со товарищи
Ексель - це лише інтструмент. Ти ж не вимагаєш в молотка забивати цвяхи самому. Так і з Екселем, яку функцію апроксимації (довжину цвяха і куди його бити) обрав користувач, таку він і обрахує (заб`є обраний цвях в те саме місце). Ну і шо, що замість цвяха 120-ки достатньо двостороннього скотча, користувач обрав і застосував.
А ось Ексель в умілих руках дуже потужний інструмент.
 

Гудзак

Хатуль мелумад - тварина типу кіт, що йде ланцюгом
Реєстрація
29.01.14
Місто
Першотравенськ (Січеславщина)
Телефон
Moto G9+; Moto G5+
А ось Ексель в умілих руках дуже потужний інструмент.
Згоден. Не заперечую. За винятком малесенького "але": Ексель дійсно стає потужним інструментом за умови деякої базової математичної підготовки - щоб, наприклад, не примушувати його розв'язувати рівняння накшталт sin(x)=2. :cool: IMHO, звісно.
 

Alex

Модератор
Команда форуму
Реєстрація
27.10.07
Місто
Дніпро
Телефон
Huawei P40
Чем перевести без потери форматирования документ .doc c русского языка на украинский?
Перевожу потихоньку предприятие на рідну мову. Пока вручную делал, но договор о неразглашении достаточно обширен для ручного перевода (или перевода поабзацно через Гугл Трэнслейт).
Помню в бородатые времена было приложение Рута-Плай, там переводило классно.
Но хз работает ли эта штука на Office 2007.

Пробовал через онлайн-перевод Microsoft Office - это ад и мрак, очень смешно получается короче говоря :)
 

GAS

Бесарабський бандерівець
Команда форуму
Реєстрація
11.09.14
Місто
Рені
Телефон
Xiaomi 12T
Я себе когда-то дипломную работу с русского на украинский с помощью Pragma переводил. Почти без косяков, потом просто прочёл всю и несколько исправлений внёс. Только офис 2003-й был.
 

Maxxx

Ябкодрочер)
Реєстрація
01.12.08
Місто
Київ
Телефон
iPhone 12 Pro Max
Помню в бородатые времена было приложение Рута-Плай, там переводило классно.
Но хз работает ли эта штука на Office 2007.

ProLing Office v5, в составе которого есть Рута и Плай, отлично работал на 2007 офисе (и на 2010 тоже). Если ты не адепт супер-пупер-новинок от МС, вроде Выньдовс 10 и Офис 2016, то вполне можешь поставить.
 

AngryDen

Перфекціоніст
Реєстрація
23.12.14
Місто
Дніпро - Запоріжжя
Телефон
Xiaomi
Чем перевести без потери форматирования документ .doc c русского языка на украинский?

До сих пор, пользуюсь ABBYY® FineReader 10.
Функционал больше чем просто перевод, и не только русский и украинский.
Там сканирование - распознавание - перевод.
 
Зверху