Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 667
от 08.12.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 276, Экспертов: 39
В номере:Вопросов: 2, Ответов: 4


Вопрос № 112108: Здравствуйте, эксперты. Вопрос по Exel. Необходимо вставить в лист Рисунок (только *.jpg) из файла в определенное место, масштабировать его по высоте, сохранить текстовые данные листа в базе с путем хранения файла, УДАЛИТЬ ТОЛЬКО РИСУНОК для очередно...
Вопрос № 112134: Уважаемые эксперты, ну пожалуйста помогите мне с этой задачей! Я уже 3-ий раз задаю этот вопрос и время для её сдачи у меня уже почти не осталось. Дан двумерный массив А(30,30) Надо заменит любую строку на любой столбец. Номер строки и столбца подлеж...

Вопрос № 112.108
Здравствуйте, эксперты. Вопрос по Exel. Необходимо вставить в лист Рисунок (только *.jpg) из файла в определенное место, масштабировать его по высоте, сохранить текстовые данные листа в базе с путем хранения файла, УДАЛИТЬ ТОЛЬКО РИСУНОК для очередного ввода. Написан Макрос, не удается удалять рисунок. Заранее спасибо.
Отправлен: 03.12.2007, 09:48
Вопрос задал: Levochkin Andre (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Genyaa
Здравствуйте, Levochkin Andre!

Если вставленный рисунок - единственный на активном листе:

ActiveSheet.Shapes(1).Delete

- удалит этот рисунок с листа

Соответственно, если объектов (рисунков) больше, то нужно указывать, какой именно объект нужно удалить, с помощью индекса либо указанием на конкретный объект.
---------
Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: Студент)
Ответ отправлен: 03.12.2007, 10:34
Оценка за ответ: 3
Комментарий оценки:
Ответ полный, но не работает.

Отвечает: Черников Игорь Владимирович
Здравствуйте, Levochkin Andre!
Удалить все рисунки с активного листа можно так:

ActiveSheet.Shapes.SelectAll
Selection.Delete

---------
От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 8-ой класс)
Ответ отправлен: 05.12.2007, 18:34


Вопрос № 112.134
Уважаемые эксперты, ну пожалуйста помогите мне с этой задачей! Я уже 3-ий раз задаю этот вопрос и время для её сдачи у меня уже почти не осталось. Дан двумерный массив А(30,30) Надо заменит любую строку на любой столбец. Номер строки и столбца подлежащие замене следует вводить с клавитатуры.
Отправлен: 03.12.2007, 13:03
Вопрос задал: Нещин Василий Фёдорович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Талипов А Н
Здравствуйте, Нещин Василий Фёдорович!

Ну этоже элементарно! Может быть есть какой-то подвох, не бывают такие простые задания! Может быть имелся в виду ассемблер?

Впрочем, вот пример, для старого доброго qbasic. Он демонстрирует нужные и ненужные функции. Всё наглядно. Типа шахмат но не 8х8 а 31х31. Ну а вместо фигурок буковки и цыфорки.

Запускайте
вводите
get 0,1 <enter>
to 2,3 <enter>
И смотрите, как значки обменялись местами.

Так немного веселее.

Приложение:

---------
Всё будет так, как должно быть, даже если будет иначе.

Ответ отправил: Талипов А Н (статус: 4-ый класс)
Ответ отправлен: 03.12.2007, 18:09
Оценка за ответ: 3
Комментарий оценки:
Спасибо! но QBASIC мы вообще не проходили так что непонимаю я ничего в твоём примере. Но всё равно спасиба что хоть попытался помочь

Отвечает: Черников Игорь Владимирович
Здравствуйте, Нещин Василий Фёдорович!
Вот Ваш пример. Он реализован в макросе EXCEL.

Sub Макрос1()
Dim A(30, 30) 'первая цифра - нумерация строк, вторая - столбцов
Dim столбецМасс
Dim строкаМасс
Dim Столбец As Integer
Dim Строка As Integer
For i = 0 To 30 'Эта и следующие 6 строк для наглядности, их можно удалить
For j = 0 To 30
счётчик = счётчик + 1
A(i, j) = счётчик 'Заполнение массива
Worksheets("Лист1").Cells(i + 1, j + 1).Value = A(i, j) 'Вывод массива на лист1. Он обязательно должен присутствовать в книге!
Next j
Next i
Столбец = InputBox("Введите номер столбца", "Ввод")
Строка = InputBox("Введите номер строки", "Ввод")
For i = 0 To 30' D 'В этом цикле заданная строка заменяется на столбец, а заданный столбец на строку
столбецМасс = A(i, Столбец - 1)
строкаМасс = A(Строка - 1, i)
A(i, Столбец - 1) = строкаМасс
A(Строка - 1, i) = столбецМасс
Next i
For i = 0 To 30 ' С этой строки начинается вывод изменённого массива на Лист1, для наглядности
For j = 0 To 30
Worksheets("Лист1").Cells(i + 33, j + 1).Value = A(i, j)
Next j
Next i
End Sub

Удачи!
---------
От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 8-ой класс)
Ответ отправлен: 05.12.2007, 19:26
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное