Jump to content
СофтФорум - всё о компьютерах и не только

Помогите. Нужна помощь!


Recommended Posts

Приветствую всех кодеров!!!!! Ребят, нужен совет. Подскажите, или хотя бы укажите где можно найти материал по моей проблеме. А проблема в следующем: открываю в visual basic'е екселевский файл и конвертирую его в файл формата dbf. Теперь нужно разместить на форме combobox и занести в него список всех рабочих листов екселевского файла, который я захочу конвертировать в dbf. Подскажите пожалуйста, как мне из экселевского файла получить список всех рабочих листов и занести этот список в combobox, чтобы пользователь в моей проге мог указать нужный ему лист для конвертации его в файл dbf

Link to comment
Share on other sites

Майкрософт описала екселевский формат, тут 2 варианта: использовать компонент какой-нить для работы с файлом xls или писать мамому... описание формата вот тут http://www.microsoft.com/interop/docs/offi...aryformats.mspx

Link to comment
Share on other sites

Майкрософт описала екселевский формат, тут 2 варианта: использовать компонент какой-нить для работы с файлом xls или писать мамому... описание формата вот тут http://www.microsoft.com/interop/docs/offi...aryformats.mspx

Спасибо, друг, помогло. Но опять я запоролся. Опять нужна помощь. Опять (извините за тавтологию и повторы :blush2: ) на лёгких вещах запоролся, но всё же. Уж извиняйте, тяжёлые раскалываю, перед лёгкими-пасую порой. Дело вот в чём.

Имеется следующий кусок проги (написанный мною, и причём с помощью документика, который мне любезно показал товарищ Lomak :bye1: ):

Private Sub Command1_Click()

Dim i As Integer

Dim k As Integer

Dim ex As Object

CommonDialog1.InitDir = "C:\"

Dim strFileType As String

strFileType = "All Files (*.*)|*.*|"

CommonDialog1.Filter = strFileType

CommonDialog1.FilterIndex = 1

CommonDialog1.ShowOpen

Set xls = CreateObject("Excel.Application")

Set xlsWorkBook = xls.Workbooks.Open(CommonDialog1.FileName)

For i = 1 To xlsWorkBook.Sheets.Count

Combo1.AddItem xlsWorkBook.Sheets(i).Name

Next i

End Sub

Private Sub Command2_Click()

Set xlsWorkSheet = xlsWorkBook.Worksheets(Combo1.Text)

xlsWorkSheet.Activate

xlsWorkSheet.Range("A1").CurrentRange.Select

xlsWorkBook.SaveAs xlsWorkBook.Path & "\Выходная таблица", xlDBF4

xlsWorkBook.Close

Set xlsWorkBook = Nothing

Set xlsWorkSheet = Nothing

xls.Quit

Set xls = Nothing

End Sub

Как вы наверно поняли, первой кнопке я привязал действие открытия экселевского файла и занесение названий листов, которые он содержит, в combobox. Вторая кнопка конвертирует содержимое (а именно таблицу) из выбранного в combobox'-е листа в таблицу формата dbf. С этим вопросов нет-всё понял, реализовал,работает. Теперь вопрос в следующем. На форме, помимо этих 2 кнопок и combo я разместил два listbox'-а. В каждом листе экселевской книги есть таблица, ну само собой таблица имеет шапку с наименованиями столбцов.

Допустим, шапка имеет следующий вид:

Имя | Фамилия | Отчество | Телефон

Вопрос в следующем, как мне, при выборе определённого листа в combobox'-е, вывести в первый listbox шапку таблицы на выбранном листе, а во второй listbox-пару записей того стобца, название которого я допустим выделю в первом listbox'-е.

Примерно это будет выглядеть так (допустим я выделил в первом listbox'-е строку "Имя":

Listbox 1 | Listbox 2

|

Имя | Павел

Фамилия | Олег

Отчество | Александр

Телефон |

Объясню, для чего мне это нужно, а нужно мне это для того чтобы пользователь мог видеть какие таблицы и какие данные в каждом из их стобце находятся в экселевском файле, затем ненужные столбцы удалить и сконвертировать оставшиеся столбцы в таблицу dbf. Как это сделать я сам разберусь. Подскажите как решить проблему с listbox'-ами. Заранее благодарен.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...