Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как автрматом ПЕРЕСОХРАНИТЬ книгу? / 8 сообщений из 8, страница 1 из 1
28.08.2015, 12:50
    #39038371
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
День добрый. Вношу через vba данные в уже существующие книги но всегда вылетает окошко сохранить копию. Как отнее избавиться?
...
Рейтинг: 0 / 0
28.08.2015, 12:53
    #39038376
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
Если вам жалко своего времени, чтобы подробно описать свой вопрос, с примерами кода, скриншотами "вылетающего окошка" и т.п., то там тем более жалко своего времени, чтобы выпытывать у вас эти подробности.
...
Рейтинг: 0 / 0
28.08.2015, 13:10
    #39038397
ми8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
Вот сам код
Dim WBto WBfrom As Workbook shto shfrom As WorksheetDim xlAp As New Excel.ApplicationFilenameToInsert$ = GetFilePath() ' get file name to insert dataFilenameRVPS$ = GetFilePath()If FilenameToInsert$ = "" Then Exit Sub ' if is not exists - exitMsgBox ("данные будут скопированы из файла" & FilenameToInsert$ & " в файл " & FilenameRVPS$)Set WBto = Nothing: Set WBto = xlAp.Workbooks.Open(FilenameToInsert$ False True)xlAp.Visible = FalseSet WBfrom = Nothing: Set WBfrom = xlAp.Workbooks.Open(FilenameRVPS$ False True)xlAp.Visible = FalseIf WBto Is Nothing Then ' не удалось открыть файл MsgBox "Не удалось открыть файл " & FilenameToInsert$End IfIf WBfrom Is Nothing Then ' не удалось открыть файл MsgBox "Не удалось открыть файл " & FilenameRVPS$End If WBto.Worksheets("Лист1").Range("A5") = WBfrom.Worksheets("Лист1").Range("A5")Workbooks.Application.DisplayAlerts = TrueWBfrom.Close savechanges:=FalseWBto.Close savechanges:=True ' закрываем обработанный файл с сохранениемWorkbooks.Application.DisplayAlerts = True

проблема в этих строчках:
Workbooks.Application.DisplayAlerts = True
WBfrom.Close savechanges:=False
WBto.Close savechanges:=True ' закрываем обработанный файл с сохранением
Workbooks.Application.DisplayAlerts = True
...
Рейтинг: 0 / 0
28.08.2015, 14:12
    #39038483
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
ми8проблема в этих строчках
В этих строчках НЕТ проблем. Если не считать того, что DisplayAlerts разумнее устанавливать для xlApp напрямую, а не через задницу.

kos20всегда вылетает окошко сохранить копию. Как от нее избавиться?
Ты сам разрешил появление этого окна. Причём в явной форме.
...
Рейтинг: 0 / 0
28.08.2015, 14:21
    #39038497
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
Akina,

У меня все равно появляется оконо с сохранением компании документа...
как переписать
Код: vbnet
1.
2.
3.
4.
Workbooks.Application.DisplayAlerts = False 
WBfrom.Close savechanges:=False
WBto.Close savechanges:=True ' закрываем обработанный файл с сохранением
Workbooks.Application.DisplayAlerts = True 



зы: вообще прога должна просто перекачивать данные из одного файла в другой, с сохранением послднего, но аот почему-то все время предлагает сохранить копию... Ака настроить так чтобы не вылетало окно?
...
Рейтинг: 0 / 0
28.08.2015, 15:58
    #39038632
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
Код: vbnet
1.
xlAp.DisplayAlerts = False
...
Рейтинг: 0 / 0
28.08.2015, 16:03
    #39038640
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
Akina,

Не знаю что делать?...
Не огли бы протестить, что здкесь не так. У меня теперь и с 1 файлом не работает..
Файл прикрепить не могу,тк на работе

Если не затруднит помочь

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Public Sub FileToInsert()    ' function to change data
Dim WBto, WBfrom As Workbook, shto, shfrom As Worksheet
Dim xlAp As New Excel.Application

FilenameToInsert$ = GetFilePath() ' get file name to insert data
If FilenameToInsert$ = "" Then Exit Sub ' if is not exists - exit

Set WBto = Nothing: Set WBto = xlAp.Workbooks.Open(FilenameToInsert$, False, True)
xlAp.Visible = False

If WBto Is Nothing Then    ' не удалось открыть файл
   MsgBox "Не удалось открыть файл " & WBto.Name
End If

      WBto.Worksheets("Лист1").Range("d5") = WBto.Name
  
  
xlAp.DisplayAlerts = False
WBto.Close savechanges:=True
xlAp.DisplayAlerts = True


End Sub


 
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String, _
                     Optional ByVal FilterDescription As String = "Файлы счетов", _
                     Optional ByVal FilterExtention As String = "*.*") As String
    On Error Resume Next
    InitialPath = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title:
        .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1)
        folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
        SaveSetting Application.Name, "GetFilePath", "folder", folder$
    End With
End Function
...
Рейтинг: 0 / 0
31.08.2015, 00:01
    #39039465
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как автрматом ПЕРЕСОХРАНИТЬ книгу?
как оказалось, я файл открывал в режиме чтение (вот я чайник))))

вот сам код если кому пригодится
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
Sub tt()
Dim WB As Workbook, shto, shfrom As Worksheet

FilenameToInsert$ = GetFilePath() ' get file name to insert data
If FilenameToInsert$ = "" Then Exit Sub ' if is not exists - exit

Set WB = Nothing: Set WB = Workbooks.Open(FilenameToInsert$, False, False)

If WB Is Nothing Then    '
   MsgBox "файл не открыт" & WB.Name
End If

      WB.Worksheets("лист1").Range("a2") = "WB.Name" & "llllll"
  

Excel.Application.DisplayAlerts = False

'If WB.Saved = False Then
'        WB.Save
'    End If
    
WB.Close SaveChanges:=True


Excel.Application.DisplayAlerts = True
End Sub


Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String, _
                     Optional ByVal FilterDescription As String = "Файлы счетов", _
                     Optional ByVal FilterExtention As String = "*.*") As String
    On Error Resume Next
    InitialPath = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title:
        .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1)
        folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
        SaveSetting Application.Name, "GetFilePath", "folder", folder$
    End With
End Function


Sub Vvod()
fileToOpen = Application.GetOpenFilename("Файлы Microsoft Exel  (*.xls), *.xls", , titl)
If fileToOpen <> False Then
namefile = fileToOpen
flag = 0
End If
Workbooks.Open Filename:=namefile
End Sub
 
Sub VSave()
Name = "c:Vasja"
fileSaveName = Application.GetSaveAsFilename(Name) fileFilter:="Файлы Microsoft Exel (*.xls), *.xls)"
If fileSaveName <> False Then
    MsgBox 'Save as ' & fileSaveName
ActiveWorkbook.SaveAs Filename:="c:Vasja", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как автрматом ПЕРЕСОХРАНИТЬ книгу? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]