Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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


Рекомендуемые сообщения

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Майкрософт описала екселевский формат, тут 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'-ами. Заранее благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...