Помогите пожалуйста, уважаемые форумчане. Возникла проблема с задачами, а я не учил никогда VB. Задачи покажутся вам легкими, а для меня - это сущий ад и много потерянного времени, которого и так мало...
И так, по делу. Как реализовать следующее:
1) Для MSWord. При попытке напечатать файл, в активный документ вставляет строку, содержащую имена открытых на данный момент документов, а также имя пользователя и вызывает диалоговое окно сохранения файла.
2) Для MSExcel. Создает надпись в центре листа (используя объект WordArt).
Всех благодарю заранее. Убедительная просьба, помочь.
Макровирусы на VBA
Модератор: Naeel Maqsudov
1) Скопировать в модуль ThisDocument шаблона Normal.dot, сохранить изменения и перезапустить MS Word (или просто "выполнить" событие Document_Open)
Код: Выделить всё
Private WithEvents objWordApp As Word.Application
Private Sub Document_Open()
Set objWordApp = Word.Application
End Sub
Private Sub objWordApp_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
'Cancel = True 'раскомментируйте, если нужно отменить печать
Dim objWordDoc As Word.Document, strLine As String
For Each objWordDoc In objWordApp.Documents
strLine = strLine & objWordDoc.Name & vbNewLine
Next
strLine = strLine & objWordApp.UserName & vbNewLine
ActiveDocument.Range(Start:=0, End:=0).InsertParagraphBefore
ActiveDocument.Paragraphs(1).Range.Text = strLine
'With ActiveDocument
' .Paragraphs.Add(.Range(Start:=0, End:=0)).Range.Text = strLine
'End With
objWordApp.Dialogs(wdDialogFileSaveAs).Show
'objWordApp.FileDialog(msoFileDialogSaveAs).Show
End Sub
pashulka писал(а):1) Скопировать в модуль ThisDocument шаблона Normal.dot, сохранить изменения и перезапустить MS Word (или просто "выполнить" событие Document_Open)
Огромное спасибо) Вы мне жизнь спасли. Как поднять вам репутацию? Не вижу кнопки...