powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Edit Excel file ОЧ.НУЖНА HELP ?!?!?!
3 сообщений из 3, страница 1 из 1
Edit Excel file ОЧ.НУЖНА HELP ?!?!?!
    #32197590
Фотография geo_life
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая проблема. Уменя есть исходный Эксель файл, ну типа шаблон. Я его открываю и записываю что либо. Потом закрываю. Но после этого в самом Экселе он становитья не видимый. я включил строки (см далее между **!!!**)
которые создают видимость рабочей книги, но при этом когда прога работает в фоне (по таймеру) сам по себе открывается Эксел, а это как раз не нужно - в этом то и проблема. (Либо сам по себе открывается Эксель, либо нe видна рабочая книга.) ПОМОГИТЕ !!!

' вот чать кода, обьявление апишек не привожу.

Dim appExcel As Excel.Application
Dim wbkNew As Excel.Workbook, wksNew As Excel.Worksheet
Dim str_new_file As String
Dim ExcelWasNotRunning As Boolean
Dim str_ar_fn As String
On Error Resume Next
' определяем запущен ли Эксель
Set appExcel = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear ' Clear Err object in case error occurred.
On Error GoTo Error_OLEAccessToExcel
str_path = "Z:\folder1\"
str_filename_tpl = "file1.xls"
str_filename_new = "K+Pr_Hot.xls"
DetectExcel
Set wbkNew = GetObject(str_path & str_filename_tpl, "Excel.Sheet")
Set wksNew = wbkNew.ActiveSheet
Set appExcel = wbkNew.Parent
' .. далее далаем вносим любые данные и изменениЯ

wks_New.Range("B2").Value =" Сегодня : " & Now()


'--- сохранЯем под другим именем, но ...
' ... перед сохраненим удалЯем старую версию ---
' if file exist
On Error Resume Next
Kill str_path & str_filename_new
On Error GoTo Error_OLEAccessToExcel
wbkNew.SaveAs str_path & str_filename_new

'' **!!!** если следующие строкi не включить в код то файл не видно
wbkNew.Application.WindowState = xlMinimized
wbkNew.Application.Visible = True
wbkNew.Parent.Windows(str_filename_new).Visible = True
'' **!!!**
wbkNew.Close SaveChanges:=True
If ExcelWasNotRunning = True Then
appExcel.Quit
End If
Set wksNew = Nothing
Set wbkNew = Nothing
Set appExcel = Nothing


Sub DetectExcel()
' Procedure dectects a running Excel and registers it.
Const WM_USER = 1024
Dim hWnd As Long
' If Excel is running this API call returns its handle.
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then ' 0 means Excel not running.
Exit Sub
Else
' Excel is running so use the SendMessage API
' function to enter it in the Running Object Table.
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub
...
Рейтинг: 0 / 0
Edit Excel file ОЧ.НУЖНА HELP ?!?!?!
    #32197615
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я правильно понял: надо, чтобы при вызове этой процедуры из события таймер все происходило вслепую, а при остальных вызовах открывалась рабочая книга?
...
Рейтинг: 0 / 0
Edit Excel file ОЧ.НУЖНА HELP ?!?!?!
    #32197650
Фотография geo_life
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По таймеру (на какой либо форме) вызывается эта процедура и как бы вслепую заносит какие либо данные. (на самом деле это прайс-лист) Потом эти данные просматриваю другие пользователи.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Edit Excel file ОЧ.НУЖНА HELP ?!?!?!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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