MS Office 2003 & VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

MS Office 2003 & VB

Сообщение CORBA » 27.09.2005 (Вт) 16:06

Никак у меня не получается связать их. Выдаёт всё время ошибки. Может кто подкинет рабочий пример управления данными office 2003 из vb.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Re: MS Office 2003 & VB

Сообщение lord0n » 27.09.2005 (Вт) 16:13

CORBA писал(а):Никак у меня не получается связать их. Выдаёт всё время ошибки. Может кто подкинет рабочий пример управления данными office 2003 из vb.


Код: Выделить всё

Set oEx = CreateObject("excel.Application")
With oEx
    .workbooks.Open FileName:=App.Path & "\doc\TTH.xls", ReadOnly:=True
   
    .Windows("tth.xls").Activate
    .Sheets("ТТН").Select
    .Range("N6").Select
    .ActiveCell.Cells = txtNumZak.Text
    .Range("N7").Select
    .ActiveCell.Cells = txtDate.Text
    .Range("C10").Select
    .ActiveCell.Cells = txtPolych.Text
   
    .Sheets("ТТН2").Select
    .Range("cx1").Select
    .ActiveCell.Cells = txtNumZak.Text
    .Range("fb12").Select
    .ActiveCell.Cells = txtVodila.Text
    .Range("be18").Select
    .ActiveCell.Cells = txtKlad.Text
   
    .Sheets("ТРАНСПОРТНЫЙ РАЗДЕЛ").Select
    .Range("x4").Select
    .ActiveCell.Cells = Format(txtDate.Text, "dd")
    .Range("ad4").Select
    .ActiveCell.Cells = Format(txtDate.Text, "mmmm")
    .Range("au4").Select
    .ActiveCell.Cells = Year(txtDate.Text)
    .Range("fp3").Select
    .ActiveCell.Cells = txtNumZak.Text
    .Range("n5").Select
    .ActiveCell.Cells = txtPolych.Text
    .Range("DI7").Select
    .ActiveCell.Cells = txtNumPric.Text
    .Range("l11").Select
    .ActiveCell.Cells = txtVodila.Text
    .Range("cc18").Select
    .ActiveCell.Cells = txtNumPric.Text
    .Range("ah33").Select
    .ActiveCell.Cells = txtKlad.Text
    .Range("ct34").Select
    .ActiveCell.Cells = txtVodila.Text
    .Range("aa38").Select
    .ActiveCell.Cells = txtVodila.Text
    .Range("du11").Select
    .ActiveCell.Cells = txtPrava.Text
    .Range("w29").Select
    .ActiveCell.Cells = txtPlomb.Text
    .Range("cs29").Select
    .ActiveCell.Cells = txtPlomb.Text
   
   
    .Sheets("МХ-3").Select
    .Range("e17").Select
    .ActiveCell.Cells = txtDate.Text
    .Range("d17").Select
    .ActiveCell.Cells = txtNumZak.Text
    .Range("l168").Select
    .ActiveCell.Cells = txtDate.Text
    .Range("i168").Select
    .ActiveCell.Cells = txtNumZak.Text
   
   
    .Range("b204").Select
    .ActiveCell.Cells = "Экспедитор"
    .Range("b206").Select
    .ActiveCell.Cells = "Кладовщик"
    .Range("h204").Select
    .ActiveCell.Cells = txtVodila.Text
    .Range("h206").Select
    .ActiveCell.Cells = txtKlad.Text
   
    RS.MoveFirst

    .Visible = True
    .WindowState = 3
End With
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 0:03

связал я базу данных access'a с datagrid на форме. В таблице бд полю приписан денежный формат с 2мя знаками после запятой, в datagrid'e почему то отображается обычной дробью, например, 1,2 вместо 1,20 грн. Подскажите как подправить.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2005 (Ср) 0:05

Это ты называешь "Связать офис с VB"?
Никогда больше так не говори.

А грид настой отдельно. "#0.00 грн".
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 0:22

GSerg писал(а):Это ты называешь "Связать офис с VB"?
Никогда больше так не говори.

А грид настой отдельно. "#0.00 грн".


а как говорить? :) И если честно я не врубился как настроить грид, по умолчанию когда только закидываем грид на форму в нём 2 столбца. В бд'ешной таблице у меня их три (пока три) т.е. после подключения базы данных к проекту в гриде появится три столбца один "Цена" проблемный, формат как я уже говорил не вяжется. Вообщем я попытался вручную добавить ещё один столбец и на него повесить формат "#0.00 грн." но ничего не получилось - 1,2 вместо 1,20 грн. так и осталось.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2005 (Ср) 0:42

После подключения источника данных формат применяй, а не до.

Либо, если хочется до, настрой грид полностью, включая имена полей данных, а перед подключением источника вызови HoldFields.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 1:03

GSerg писал(а):После подключения источника данных формат применяй, а не до.
Сообствено, как применить формат после подключения источника данных???
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2005 (Ср) 1:05

А собственно, как ты пытаешься это сделать?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 10:15

GSerg писал(а):А собственно, как ты пытаешься это сделать?

пытался так
Код: Выделить всё
datagrid1.columns(2).dataformat="#0.00 grn."
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 16:20

2Gserg
И всё же как применить формат для данных после подключения?
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 28.09.2005 (Ср) 16:24

Сам задал сам и отвечу :)
Код: Выделить всё
DataGrid1.Columns(2).NumberFormat = "#0.00 grn."
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 28.09.2005 (Ср) 22:45

Скажите плз как мне кнопкой с формы открыть документ офиса? я не могу понять.
Сердце девушки легче всего открывается ключами от BMW...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2005 (Ср) 23:44

Оффтопик.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 29.09.2005 (Чт) 0:17

MagnuM писал(а):Скажите плз как мне кнопкой с формы открыть документ офиса? я не могу понять.

Как открыть файл в свзянанном с ним приложении
Расположи на форме textbox и button. Путь, естественно, пиши в texbox'е.
Код: Выделить всё

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Command1_Click()
Call ShellExecute(0, "open", text1.text, "", "", SW_SHOWNORMAL)
End Sub


Вот пример малёха переделай и всё должно заработать.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 29.09.2005 (Чт) 20:02

Всё понял, пасиб. Исчо вопрос, мне надо данные из текстбокса перенести в ячейку экселя, как это сделать?
Сердце девушки легче всего открывается ключами от BMW...

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 29.09.2005 (Чт) 20:33

Внимательно изучи первый пост lord0n... там очень много полезного о том как привинтить эксель к твоей программе до остального думаю сам дойдешь :)
Утро добрым не бывает!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 33

    TopList