Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Добавление записи в excel

Ответить
Настройки темы
Любой язык - Добавление записи в excel

Новый участник


Сообщения: 46
Благодарности: 1

Профиль | Отправить PM | Цитировать


Добрый день.
Есть журнал регистрации почтовой корреспонденции в организации в форме excel.
excel имеет вид

столбец А столбец Б столбец В
номер Тема Фамилия
1 Запрос Иванов



Хотелось бы создать запускаем файл который запрашивал "Введите тему", пользователь вводит тему, далее запрашивает "Введите фамилию", в ответ программа записывает данные в новую строку в столбец Б и В эти данные, а так же в столбце А присваивает номер по порядку и выводит сообщение пользователю "Ваш регистрационный номер %number%".

Отправлено: 20:50, 24-03-2021

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


maxim43g, а) это надо делать не в Excel'е, б) вместо:
Цитата maxim43g:
excel имеет вид
столбец А столбец Б столбец В
номер Тема Фамилия
1 Запрос Иванов »
выложите Ваш файл Рабочей книги.

Отправлено: 21:49, 24-03-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 46
Благодарности: 1

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xlsx пример.xlsx
(8.1 Kb, 4 просмотров)

вот

Отправлено: 22:08, 24-03-2021 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать



Пробуйте (на WSH): Sample.7z.

Замените путь в Sample.vbs в:
Код: Выделить весь код
strSourceFile = "C:\Мои проекты\0341\пример.xlsx"
на Ваш. Если будете использовать свою Рабочую книгу — сначала создайте в ней excel список с именем «Список1» на основе данных таблицы:
Скрытый текст
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:34, 25-03-2021 | #4


Новый участник


Сообщения: 46
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо большое, работает.
Но есть люди у которых нет Excel, а стоит Libreoffice, при этом либреофис есть абсолютно у всех.
Excel.Application вызывают ошибку, можно как то данную строку заменить на либреоффис?

Отправлено: 15:25, 25-03-2021 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата maxim43g:
можно как то данную строку заменить на либреоффис? »
Заменить-то можно. Только работать от этого не станет.

Отправлено: 16:03, 25-03-2021 | #6


Новый участник


Сообщения: 46
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
Только работать от этого не станет. »
и никакого выхода нет?

Отправлено: 16:08, 25-03-2021 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Есть. Powershell с модулем ImportExcel, ему Эксель не нужен.

Неизящно, но работает:
Код: Выделить весь код
$theme = (read-host "Введите тему").Trim()
$surname = (read-host "Введите фамилию").Trim()

$path = "D:\temp\journal\журнал.xlsx"
$xlsx = (import-excel "$path") |? 'Номер регистрации' -match '\d'
$c = $xlsx[-1].'Номер регистрации' + 1

$obj = [PSCustomObject]@{
'Номер регистрации' = $c
Тема = $theme
Фамилия = $surname
}

$xlsx += $obj
$xlsx |Export-Excel -Path $path -WorksheetName 'Лист1' -AutoSize -BoldTopRow

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 25-03-2021 в 17:21.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:16, 25-03-2021 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


DJ Mogarych, мне токмо не нравится это:
Цитата DJ Mogarych:
Код: Выделить весь код
$c = $xlsx[-1].'Номер регистрации' + 1
»
Закладываться на наличие строгой сортировки во возрастанию я бы не стал.

Отправлено: 21:52, 25-03-2021 | #9


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Ну проблем-то:
Код: Выделить весь код
$xlsx = (import-excel "$path") |? 'Номер регистрации' -match '\d' |sort 'Номер регистрации'

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:58, 26-03-2021 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Добавление записи в excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - [решено] Добавление учетной записи Outlook.com Profile Microsoft Office (Word, Excel, Outlook и т.д.) 4 31-12-2019 03:05
PowerShell - Добавление значения в excel в последующую ячейку, столбец. izelor Скриптовые языки администрирования Windows 5 18-07-2016 07:13
.NET - добавление кода в VBA код страницы Excel corbis Программирование и базы данных 0 01-06-2015 02:29
CMD/BAT - Скрипт на добавление прав записи DDNMazafaka Скриптовые языки администрирования Windows 3 29-08-2009 01:18
[решено] Запрет на добавление записи в DNS artem_ Microsoft Windows NT/2000/2003 8 20-11-2007 19:59




 
Переход