Макрос Excel - сохранить исходное форматирование - PullRequest
0 голосов
/ 15 марта 2011

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

' Copy all data from 1.xls to new.docx
Sheets("Design").Select
Range("A1:G50").Copy
appWD.Selection.Paste

Может ли быть что-то с PasteSpecial?

Спасибо.

@ Brown

Select Case Range("C19").Value
    Case 1
        Sheets("Info").Select
        Range("B7").Copy Destination:=Sheets("Design").Range("A" & x)
        x = x + 2
End Select

Такэто копирует данные из ячейки C19 (Sheet: Info) в ячейку B7 (Sheet: Design)

' I open my word doc etc.
Sheets("Design").Select
Range("A1:E50").Copy
appWD.Selection.Paste

Выбирает дизайн листа, копирует все и вставляет их в слово doc.Я теряю форматирование, я также использую XP, офис 2007.

1 Ответ

0 голосов
/ 15 марта 2011

Вот моя простая тестовая программа

Sub test()
    Dim wrdApp As Word.Application
    Set wrdApp = New Word.Application
    Dim wrdDoc As Word.Document
    wrdApp.Documents.Add
    Set wrdDoc = wrdApp.ActiveDocument
    Range("A1:B1").Copy
    wrdApp.Selection.Paste
    wrdDoc.SaveAs "D:\tmp\myworddoc.doc"
End Sub

Это работает с Office XP (у меня нет Office 2007 под рукой). Ячейки A1: B1 содержат отформатированные числа. Это отлично работает на моей машине, созданное слово doc также содержит таблицу с отформатированными числами. Можете ли вы попробовать его на своем, чтобы посмотреть, работает ли он?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...