Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 4

Создание отчета в Exel.

24.02.2011, 16:45. Показов 1489. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день!
Прошу помощи в реализации создания отчета в Exel.

Есть папка, в которой хранятся картинки в структуре: Страна/Название завода/коллекция/название картинки.
Требуется, чтобы в exel было реализовано создание таблицы (Заказчик, Страна/Завод/Коллекции, Кол-во шт., Сумма)
Алгоритм действий:

1. Пользователь указывает папку в которой хранятся эти картинки, а exel формирует таблицу шерстя все папки и подсчитывая кол. картинок (*.jpg, *,tif, *,png, *bmp, *gif и т.м.) в папке - коллекции.

Например, Images/Russia/MTT/Sun в папке коллекции находится 6 картинок.

Пример того что должно получиться во вложении.

Спасибо всем кто откликнется!
Миниатюры
Создание отчета в Exel.  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.02.2011, 16:45
Ответы с готовыми решениями:

Задача на создание макроса для Word и Exel
Добрый день, может быть кто-нибудь может помочь с такого рода задачей? Написать макрос, переводящий таблицу MS Word в таблицу MS Exel....

Работа с Word и Exel через макрос, который запускается в Exel
Есть задача: проводятся расчеты в Эксель и из него открывается документ Ворд(эта часть работает), копируется таблица из Эксель и...

Создание макроса для открытия существующего шаблона Word из Exel
Добрый день! Не знаю точно к какой теме относится этот вопрос, но главная проблема у меня заключается именно в написании кода, поэтому...

2
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
26.02.2011, 11:28
Тестируйте, форматирование строк на каждом уровне вложения можно настроить отдельно "под себя":
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Option Explicit
Dim wsh As Worksheet, lRow As Long, lCountry As Long
 
Sub EnumFiles()
    Dim fd As FileDialog, vrtSelectedItem As Variant, sFolder As String, s As String
    
    Set wsh = ThisWorkbook.Worksheets(1)
    lRow = 3
    lCountry = 1
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    
    fd.AllowMultiSelect = False
    
    If fd.Show = -1 Then
        For Each vrtSelectedItem In fd.SelectedItems
            sFolder = vrtSelectedItem
            If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
            Call RecureiveSearch(sFolder, -1)
        Next vrtSelectedItem
    End If
    
    Set fd = Nothing
    Set wsh = Nothing
End Sub
 
Private Sub RecureiveSearch(MyPath As String, ByVal lLevel As Long)
    Dim MyName As String, PS As String, DirList() As String
    Dim i As Long, n As Long, wbk As Workbook, lCounter As Long
    Dim sPath() As String
    
    PS = Application.PathSeparator
    ReDim DirList(0 To 0) As String
    lLevel = lLevel + 1
    lCounter = 0
    
    MyName = Dir(MyPath, vbDirectory)
    Do While MyName <> ""
        If MyName <> "." And MyName <> ".." Then
            n = GetAttr(MyPath & MyName)
            If (n And vbDirectory) = vbDirectory Then
                ReDim Preserve DirList(0 To UBound(DirList) + 1) As String
                DirList(UBound(DirList)) = MyPath & MyName & PS
            Else
                If MyName Like "*.jpg" Or MyName Like "*.tif" Or _
                MyName Like "*.png" Or MyName Like "*.bmp" Or _
                MyName Like "*.gif" Then
                    lCounter = lCounter + 1
                End If
            End If
        End If
        MyName = Dir
    Loop
    
    sPath = Split(MyPath, "\")
    With wsh.Range(wsh.Cells(lRow, 1), wsh.Cells(lRow, 4))
        If lLevel = 1 Then
            .Font.Size = 14
            .Font.Bold = True
            .Font.Italic = False
            .Interior.ColorIndex = 15
            wsh.Cells(lRow, 2).Value = sPath(UBound(sPath) - 1)
            wsh.Cells(lRow, 1).Value = lCountry
            lRow = lRow + 1
            lCountry = lCountry + 1
        ElseIf lLevel = 2 Then
            .Font.Size = 12
            .Font.Bold = False
            .Font.Italic = True
            wsh.Cells(lRow, 2).Value = sPath(UBound(sPath) - 1)
            lRow = lRow + 1
        ElseIf lLevel = 3 Then
            .Font.Size = 10
            .Font.Bold = False
            .Font.Italic = False
            wsh.Cells(lRow, 2).Value = sPath(UBound(sPath) - 1)
            wsh.Cells(lRow, 3).Value = lCounter
            lRow = lRow + 1
        End If
    End With
    
    If UBound(DirList) > 0 Then
        For i = 1 To UBound(DirList)
            RecureiveSearch DirList(i), lLevel
        Next i
    End If
End Sub
В архиве книга с макросом и утрированный пример каталога с картинками для тестирования примера.
Вложения
Тип файла: rar catalog.rar (32.6 Кб, 53 просмотров)
1
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 4
05.03.2011, 10:19  [ТС]
mc-black - Огромнейшее тебе спасибо!
Все получилось так как надо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2011, 10:19
Помогаю со студенческими работами здесь

Создание таблицы-отчета
Здравствуйте! Имеется выгрузка из базы данных (пример в файле). Необходимо из каждых 24 ячеек столбца D найти ячейку с максимальным...

Создание отчета Excel
Подскажите по созданию отчета на примере. Как реализовать при нажатии кнопки &quot;Выгрузка&quot; создание нового листа &quot;Отчет&quot; и...

создание отчета в visual studio
привет при разработке программы столкнулся с проблемой: не получется вывести содержание формы в отчет...т.е. нужно чтоб ползователь...

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

Создание ежедневного отчета за весь год
Всем доброго времени суток. Прошу помочь умеющим. С самого утра ломаю голову но к сожалению не могу найти ответ... Дело вот в чем. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru