1

Тема: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Вопрос одного из посетителей о пакетном переименовании всех файлов неоткрытых в редакторе  smile натолкнул меня на вопрос о доступной (возможно) проблеме.
Вводная:
Win 7, программа регистратор стороннего разработчика методом copy - paste берём ФИО посетителя заносим в соответствующую ячейку таблицы в Word docx W2010, открытого нап основе шаблона. В буфере по-прежнему сохраняется та же ФИО.
Заканчиваем работу с файлом, методом закрыть шаблон вызываем диалог "А не сохранить ли нам вариант этого шаблона в виде файла" пусть по тому пути куда редактор просит.
(Хотя оговорюсь, хорошо бы было ввести предположим заранее оговоренную папку "Сегодня" например.)
Отвечаем "таки да" (пардон за мой идиш) вот тут бы и упростить этот ряд автоматическим paste в название файла содержимым из буфера обмена в виде ФИО.
Word ведь автоматом сохраняет все файлы, но только выбирает в виде названия первые пару фраз из текста...Умрёшь с ними... smile
Можно было бы такой макрос сделать макрокнопочкой, нарисовать на ней сексапильную тётеньку и присвоить нажатию горловой звук "Ааааах" smile  И пользоваться вместо привычного красного крестика в правом верхнем углу...
Возможно ли такое решение? Я имею в виду не с горловым звуком ах конечно.

Yeah, really?

2

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Да почему блин поиском не находятся ответы, которые появляются в виде вариантов в конце создания темы?
Не случайно я вспомнил про идиш... Генерал Ципихович уже решал такую проблему... http://wordexpert.ru/forum/viewtopic.php?id=516
только я не понял что у генералитета не выходило? И почему получилось.
Ну будем продолжать садить садик.
Видоизменим вопрос к генералу Эндрю...
Товарищ генерал Эндрю...Если механический программист вроде меня тупо скопирует
макрос с кодом

Sub Save()
Dim strDocName As String
Dim MyDataObj As New DataObject
MyDataObj.GetFromClipboard
 strDocName = MyDataObj.GetText
    ChangeFileOpenDirectory "D:\vadim\doc\"
    ActiveDocument.SaveAs FileName:=strDocName, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
End Sub 

То всё получится? sad А вместо "D:\vadim\doc\"
надо будет вставить D:\имя искомой директории типа "Сегодня"?

Yeah, really?

3

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Механически скопировать не удалось...
Пишет ошибку

Post's attachments

Mistake1.png 216.84 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.
Yeah, really?

4

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Когда я открывал эту тему меня слегка мучила совесть - вот же умные люди написали всё, какого ты её продублировал?
Но как видите не всё очевидное для вас так уж понятно для остальных механических программистов вроде меня. big_smile
В сообщении наших коллег  smile идёт речь о том, что надо добавить в свойства вашего шаблона Normal вышеназванную DLL "Microsoft Forms 2/0 Object Library"
Добавляется она редактором Visual Basic (Alt+F11).
При этом вы должны открыть в Меню Вид (View) опять же вышеописанное окно Propeties.
Далее...Пассаж Tools - Reference вы ищите сверху на ленте не закрывая окна Свойства шаблона. Там и появится эта доска с надписью Свойства Смотрите скрин №1
Далее уже по первоисточнику, скорее всего вы там не найдёте этой DLL. Так что смело давите на кнопарик Browse он вас сразу выкинет в Директорию system 32. И когда вы по ней кликните она автоматом добавится - увидите её с галочкой в самом низу списка.
Скрин №2. Сабака 2 нельзя загрузить напишу отдельным постом  sad
Внимание!
Не наступите на мои грабли. Нажмите на кнопарик с дискетой - сохранить. Чего я не сделал (видимо). И получил опять ту же ошибку... big_smile
Через день, проделанный накануне путь благополучно забыл и проделал его уже в Word 2010. Там как-то вроде попонятнее... big_smile

Post's attachments

first.png 282.41 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.
Yeah, really?

5

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Дорогие друзья, вы даже не понимаете (возможно  smile ) что за сокровище стараниями наших коллег мы получили в результате...
Кстати внизу скринчик №2 для чего я и создавал этот пост.
Ну вот. В чём преимущество этого макроса.
Вы сидите на службе и работаете с документами которые вам предлагает программа регистратор стороннего разработчика. Однозначно возможности создавать документы в таких программа как правило на зачаточном уровне, да и доводить их никто вам не будет. Как мы не ругаем MSO, но в варианте Word2003 он почти безупречен.  smile
А вас принуждают плодить кривульки типа OpenOfficom.
Я поступаю так. Программист от фирмы разработчика разрешил мне в свойствах программы регистратора открывать окно с паспортными данными посетителя. Там на reception тупенькая девочка механически в одном поле вводит фамлию имя отчество. Вот их я и Copy, далее открываю свой Внимание! Шаблон (можно и read only файл, но мне кажется шаблон лучше не надо бояться что испортишь первоисточник) и в такую же шапку в таблице в графу ФИО вставляю, вышеозначенные данные. Так как я пользуюсь автотекстом, то заполнять буфер другими данными мне как правидо не приходится. (Оговоримся, если такое произойдёт, то вы сможете вновь воспользоваться Copy уже из вашей таблички).
В конце работы запуская данный макрос вы сохраняете ваш документ в Директорию с именем например Today. У меня Сегодня, Windows понимает кириллические буковки как дело будет обстоять с W2003 пока не знаю. В конце дня всё содержимое этой директории переносим в Каталог разбитый по годам, месяцам и дням.
Всё! Всё? Не совсем. sad  Нет в мире совершенства. sad  Есть вопросы к этому несомненно работающему - это я уже дома проверил, макросу...Но об этом в следующем посте.

Yeah, really?

6

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Прошу прощения искомый скрин.
Что ещё хотелось бы...
Малость - вставить команду на выход без вопроса... И перед всем этим я ещё вставлю команду на печать дуплексом...Мне уже давали такой макрос.
И главное...как выйти совсем после сохранения. Может кто подскажет?

Post's attachments

second.png 250.85 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.
Yeah, really?

7

Re: Можно ли сохранять файл с названием, содержащимся в буфере обмена.

Ну, если воскресным утром долго перебирать клавиши на кейборде, то можно по-новому переписать "Войну и мир". Ну не всю "Войну и мир", но тыканьем в клавишу F1 VB редактора мне удалось сделать следующее...

Sub Print_Save()
'
' Print_Save_Exit Макрос
' Макрос записан 02.09.2012 Valentine будем и печатать и сохранять.
'
ActiveDocument.PrintOut
 Dim strDocName As String
   Dim MyDataObj As New DataObject
    MyDataObj.GetFromClipboard
      strDocName = MyDataObj.GetText
      ChangeFileOpenDirectory "D:\Temp\"
        ActiveDocument.SaveAs FileName:=strDocName, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
        ActiveDocument.Close , (wdDoNotSaveChanges)

End Sub 

Как получилось не знаю, но Андрей Болконский скачет на коне в папахе, кричит "Ура" и помирать не собирается.... big_smile
В смысле печатает и сохраняет, только Word не закрывается, но это и к лучшему... smile

Yeah, really?