Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 09:59   #1
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию Вставка формул и скриншотов в сообщение на форуме, работа с FTP

Может, кому пригодится...

Запустите файл из вложения (или подключите его как надстройку)
Потом откройте любой файл Excel, выделите диапазон ячеек, и нажмите Ctrl + R
Описание всех горячих клавиш (их можно переопределить при желании)
Код:
Private Sub Workbook_Open()
    Application.OnKey "^+r", "SaveClipboardToBMP"         ' Ctrl + Shift + R
    Application.OnKey "^r", "SaveRangeToBMP"              ' Ctrl + R
    Application.OnKey "^e", "SaveRangeToEMF"              ' Ctrl + E
    Application.OnKey "^+f", "GetFormulaFromSelection"    ' Ctrl + Shift + F
End Sub

В папке C:\WINDOWS\TEMP\Excel\ будет создан файл BMP примерно с таким содержимым:



Для создания скриншота диапазона в векторном формате (EMF) используйте комбинацию клавиш Ctrl + E
Осталось только щелкнуть по файлу правой кнопкой, и в контекстном меню выбрать пункт "Опубликовать на Radikal.ru"

Для создания скриншота формы:
  1. Запустите форму, и нажмите Alt + PrintScreen
  2. Закройте форму
  3. Нажмите комбинацию клавиш Ctrl + Shift + R

В той же папке (C:\WINDOWS\TEMP\Excel\) появится файл со скриншотом.
После создания каждого файла автоматически открывается содержащая файл папка.


В прикреплённой надстройке есть ещё несколько функций, которые могут оказаться полезными тем форумчанам,
кто часто выкладывает на форуме решения в виде формул
.

Выделив одну или несколько ячеек (не обязательно смежных) с формулами, и нажав комбинацию Ctrl + Shift + F, Вы получите в буфере обмена текст такого вида:

[CODE][FONT="Courier New"][SIZE="2"][COLOR="Navy"] Ячейка: [/COLOR][B]F5 [/B][COLOR="Navy"]Формула (стиль A1): [/COLOR][B]=СУММ(G5:AK5)[/B]
[COLOR="Navy"] [/COLOR][B][/B][COLOR="Navy"] Формула (стиль R1C1): [/COLOR][B]=СУММ(RC[1]:RC[31])[/B][/SIZE][/FONT][/CODE]


Вставив содержимое буфера обмена в своё сообщение на форуме, в результате получите что-то вроде этого:

Код:
  Ячейка: Q5      Формула  (стиль A1):   =СУММ(C3:C6;E6:F8;I5:I7;G5:G6;G9:J9;D11:F11;E12:G12;F14:I14;
E15:E18;G18:J18;I15:J15;D20:F20)
                  Формула  (стиль R1C1): =СУММ(R[-2]C[-14]:R[1]C[-14];R[1]C[-12]:R[3]C[-11];RC[-8]:R[2]C[-8];
RC[-10]:R[1]C[-10];R[4]C[-10]:R[4]C[-7];R[6]C[-13]:R[6]C[-11];R[7]C[-12]:R[7]C[-10];R[9]C[-11]:R[9]C[-8];
R[10]C[-12]:R[13]C[-12];R[13]C[-10]:R[13]C[-7];R[10]C[-8]:R[10]C[-7];R[15]C[-13]:R[15]C[-11])

  Ячейка: Q6      Формула  (стиль A1):   =СУММ(C4:C7;E7:F9)
                  Формула  (стиль R1C1): =СУММ(R[-2]C[-14]:R[1]C[-14];R[1]C[-12]:R[3]C[-11])
Код:
  Ячейка: Q4      Формула массива  (стиль A1):   =СУММ(($B$3:$B$21=P4)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21))
                  Формула массива  (стиль R1C1): =СУММ((R3C2:R21C2=R[1]C[-1])*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11))

  Ячейка: R4      Формула массива  (стиль A1):   =СУММ(($B$3:$B$21=Q4)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*
ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)
*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)
*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21)*ЕСЛИ($C$3:$K$21="н";0;$C$3:$K$21))
                  Формула массива  (стиль R1C1): =СУММ((R3C2:R21C2=RC[-1])*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11)
*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11)*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11)*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11)
*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11)*ЕСЛИ(R3C3:R21C11="н";0;R3C3:R21C11))

Внимание: ввод формул массива завершается нажатием CTRL+SHIFT+ENTER вместо ENTER
При наличии формул массива в выделенных ячейках автоматически вставляется предупреждение об использовании CTRL+SHIFT+ENTER.
Длинные формулы корректно разбиваются на несколько строк.
(разбивка формул производится добавлением нужного количества символов Chr(10) (символ перевода строки (vbLF, такие символы в Excel вставляются нажатием Alt + Enter)

Последний раз редактировалось EducatedFool; 14.06.2009 в 10:02.
EducatedFool вне форума Ответить с цитированием
Старый 14.06.2009, 10:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Также в настройке присутствует пример кода для отправки / получения файлов по протоколу FTP.

Для использования кода ищем в модуле FTP строку кода
Public Const Host = "91.112.123.18", Login = "СюдаПишемЛогин", Password = "СюдаПишемПароль"
заменяем эти 3 константы нужными значениями, после чего уже можно закачивать файлы на сервер по FTP:

Код:
Sub ОправкаФайлаНаFTPсервер()
    СсылкаНаФайл = SendFile("C:\Documents and Settings\Мой файл.xls", "testfile")
    СсылкаНаФайл = SendFile("C:\Documents and Settings\Мой файл.xls")
End Sub
Функция SendFile возвращает ссылку на закачанный файл, например, "http://server.ru/XL_Files/testfile.xls"
EducatedFool вне форума Ответить с цитированием
Старый 27.03.2011, 15:16   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Выложил у себя на сайте надстройку для работы с файлами Excel через FTP:
http://excelvba.ru/FTP_for_Excel

На листе настроек программы указываются учётные записи FTP:


Принцип работы с программой понятен, если посмотреть видеоролик, выложенный на сайте


В формируемом надстройкой меню
добавил кнопку копирования ссылки на обрабатываемый файл.



Теперь вы можете, открыв любой файл, нажать кнопку СОХРАНИТЬ на панели инструментов (указав при этом имя нового файла), после чего, нажав кнопку "Скопировать ссылку на файл", получить в буфере обмена ссылку вида http://server/folder/file.xls


В Excel 2007 панель инструментов выглядит так:




Для удобства тестирования программы добавил на лист настроек тестовый FTP-аккаунт

Последний раз редактировалось EducatedFool; 27.03.2011 в 15:41.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование и вставка формул из одной книги в другую KNatalia Microsoft Office Excel 5 10.06.2010 13:15
Вставка ссылок в редактор формул Word Foxx Microsoft Office Word 0 22.03.2010 22:24
работа с ftp Sparky Общие вопросы по Java, Java SE, Kotlin 3 31.10.2009 19:43
Вставка формул в столбцы faiza Microsoft Office Excel 1 02.10.2009 10:36
работа с Ftp freeze Работа с сетью в Delphi 4 18.11.2006 18:10