Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Простите за тупость... Добавлено: 01.09.08 03:15  

Автор вопроса:  dwpa
Простите за тупость, но мне позволительно - с VB работать только начал. Установил себе VB 2008 скачал книжку на англицком - изучил, но остался один вопрос: как открыть файл Exel, считать из нужной ячейки число (либо строку) и вставить ее например в label на форме? Спасибо!

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #1 Добавлено: 01.09.08 20:43
Скачай еще книжку про СОМ, и приятно удивись как это просто сделать :)
А вобще-то на форуме это обсуждалось, я сам не мало намучался с дотнетом и экселем, но еще во времена 1 FW, может счас получше стало :)

Ответить

Номер ответа: 2
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #2 Добавлено: 01.09.08 20:46
Во нашел объявление объектной переменной, дальше макросами (запиши и посмотри, как выдрать значение).
Dim ex As New Excel.Application
Dim wb As Excel.Workbook
wb = ex.Workbooks.Add
ex.Visible = True

и дальше с ex как в vb6

Ответить

Номер ответа: 3
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #3 Добавлено: 01.09.08 20:47
Скачай еще книжку про СОМ, и приятно удивись как это просто сделать :)
А вобще-то на форуме это обсуждалось, я сам не мало намучался с дотнетом и экселем, но еще во времена 1 FW, может счас получше стало :)

Ответить

Номер ответа: 4
Автор ответа:
 dwpa



Вопросов: 3
Ответов: 3
 Профиль | | #4 Добавлено: 06.09.08 00:55
Спасибо, но видимо руки у меня совсем кривые. VB 2008 отказывается понимать подобные записи, максимум, из того, что я смог от него добиться, это открыть нужный мне файл, а на строке с кодом присваивания значения ячейки этот "мегакрасивый" Basic выдает ошибку (поверьте я не мало инфы перелапатил и все бестолку - даже книги нормальной по нему нет). Может я обнаглею попросив, но мне очень бы помогло, если бы кто-нибудь работающий с VB 2008 написал простенький кодик "выдерания" значения из ячейки файла Excel

Ответить

Номер ответа: 5
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #5 Добавлено: 06.09.08 02:17
Не понимаю, что сложного?
Imports Excel

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ex As Excel.Application
        Dim wb As Excel.Workbook
        ex = New Excel.Application()
        wb = ex.Workbooks.Add()
        ex.Visible = True
        With ex
            .Range(";D4";).Select()
            .ActiveCell.FormulaR1C1 = "jnb,bbnb"
            MsgBox(.ActiveCell.FormulaR1C1)
        End With
    End Sub
End Class

ЗЫ: чтобы можно было импортировать пространство имен екселя, нужно подключить COM объект к проекту (Project->Add Reference вкладка COM, и выбираешь Microsoft Excel 11(12) Object Library).

Ответить

Номер ответа: 6
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #6 Добавлено: 06.09.08 02:19
а на строке с кодом присваивания значения ячейки этот "мегакрасивый" Basic выдает ошибку
Красота спасет мир :)

Ответить

Номер ответа: 7
Автор ответа:
 dwpa



Вопросов: 3
Ответов: 3
 Профиль | | #7 Добавлено: 06.09.08 03:46
Красота зовет спать и мешает делать бакалаврку, а на мониторе не спаситель мира а разнаперость от которой глаза устают быстрее чем от зелени на черном :)
Да, сложного тут видимо ничего (а про библиотеку уж не обижайте, не на столько я и ленивый, чтоб ничегошеньки самому не поискав тут спрашивать))))). И примеры я подобные видел уже, только вот проблема в том, что мой VB запись типа "ex = New Excel.Application()" непонимает. Точнее Application после Excel, Add после Workbooks, Select после Range, и FormulaR1C1 после ActiveCell. Я тут подумал , может у меняя VB стал как-то криво или это из-за версии (Express Edition с сайта MS, библиотека ver.12, ОС Vista HP )?

Ответить

Номер ответа: 8
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #8 Добавлено: 06.09.08 04:05
Нее это все COM хреновничает, Vista Home Premium далеко не лучшая платформа для разработки, так что рецепт прост: висту выкинуть, и поставить или Server 2008 или ХРюшку, а еще лучше WinNT 4.0+SP6, но это для маньяков :)
Я тут подумал , может у меняя VB стал как-то криво или это из-за версии (Express Edition с сайта MS, библиотека ver.12, ОС Vista HP )?
У меня VB2008 Express Edition,XP SP3 + Office2003 - все прекрасно работает.

Ответить

Номер ответа: 9
Автор ответа:
 dwpa



Вопросов: 3
Ответов: 3
 Профиль | | #9 Добавлено: 11.10.08 00:19
Уф! Заработался на учебе и на бакалаврку времени совсем нет. Спасибо за советы, очень помогли (особенно мыслью, что дело вовсе не в том, кто в кабине:), а бобина для Office 2007 в итоге получилась такой:
Dim ex As Microsoft.Office.Interop.Excel.Application
        ;Dim wb As Microsoft.Office.Interop.Excel.Workbook
        ex = New Microsoft.Office.Interop.Excel.Application()
        wb = ex.Workbooks.Add()
        ex.Visible = True
        With ex
            .Range("C4";).Select()
            .ActiveCell.FormulaR1C1 = "jnb,bbnb"
            MsgBox(.ActiveCell.FormulaR1C1)
        End With
Но на радостях по поводу разрешенного вопроса задам еще один :) как узнать наличие некоторого файла в некоторой папке? Заранее спасибо!

Ответить

Номер ответа: 10
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #10 Добавлено: 11.10.08 08:25
If File.Exists("C:\Temp\FileIsExist.sss";) Then
    ;Debug.Print "Оно есть!"
Else
    ;Debug.Print "Файл из бин юк!"
End If

Ответить

Номер ответа: 11
Автор ответа:
 Фенягz



ICQ: 387437448 

Вопросов: 7
Ответов: 202
 Web-сайт: atauenis.narod.ru/
 Профиль | | #11
Добавлено: 22.10.08 22:07
Блин! Совсем разучились пользоваться тегом source :( :D Смешно смотрится когда форум воспринимает код как смайл... :)

Ответить

Номер ответа: 12
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #12 Добавлено: 23.10.08 10:29
Не то чтобы разучились, но вот если бы была кнопка редактирования, то было бы не так весело воспринимать преобразования кода в смайлики.

Ответить

Номер ответа: 13
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #13 Добавлено: 28.10.08 01:12
Если тебе нужно только чтение определенной ячейки и достаточно базовой функциональности, можно обойтись другим решением, например

http://www.codeproject.com/KB/office/Excel_DataReader.aspx

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам