В настоящее время я работаю над приложением, которое добавляет к существующим электронным таблицам Excel при вводе данных. Простое право? У меня возникла проблема с поиском информации о форматировании рабочего листа («Границы», «Создание гиперссылок», «Фоновые цвета» и т. Д.). Я искал повсюду, и большая часть того, что я нахожу, не будет работать для меня. Я запускаю Visual Studio Pro 2013. Смысл intelli, похоже, не работает с большинством материалов Excel на моем компьютере по какой-либо причине, есть ли сайт или что-то, что перечисляет функции и как обращаться к ним? Я ссылался на библиотеку объектов Microsoft Excel 15.0 в COM-части диспетчера ссылок, а также на Microsoft Office Tools Excel в сборках.Использование функций Excel с помощью vb.net (границы и т. Д.)
Вот мой код:
Imports Excel = Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Tools.Excel
Imports Microsoft.Office.Core
Imports System.Reflection
Imports System.IO
Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
If jobnumtext.Text.Length > 2 And provincetext.Text.Length > 0 And contractnumbertext.Text.Length > 2 And clienttext.Text.Length > 0 Then
thisdate = DateTime.Now
thismonth = Month(thisdate)
name = MonthName(thismonth, True)
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Open("\\IP Address\qa_qc\003. Quality Management\005. Project Management\Project Logs\Job Set Up\Job Set Up Log_Current.xlsx")
oSheet = oBook.Worksheets(name.ToString())
Dim sheet As Worksheet = oExcel.ThisWorkbook.Worksheets(0)
Try
With oSheet
If oExcel.WorksheetFunction.CountA(.Cells) <> 0 Then
lrow = .Cells.Find(What:="*",
After:=.Range("A1"),
LookAt:=Excel.XlLookAt.xlPart,
LookIn:=Excel.XlFindLookIn.xlFormulas,
SearchOrder:=Excel.XlSearchOrder.xlByRows,
SearchDirection:=Excel.XlSearchDirection.xlPrevious,
MatchCase:=False).Row
Else
lrow = 1
End If
End With
oSheet.Range("A" & lrow + 1).Value = dateissued.Text
oSheet.Range("B" & lrow + 1).Value = contractnumbertext.Text
oSheet.Range("C" & lrow + 1).Value = clienttext.Text
oSheet.Range("D" & lrow + 1).Value = provincetext.Text
oSheet.Range("E" & lrow + 1).Value = locationtext.Text
oSheet.Range("F" & lrow + 1).Value = attentiontext.Text
oSheet.Range("G" & lrow + 1).Value = foremantext.Text
oSheet.Range("H" & lrow + 1).Value = peopletext.Text
oSheet.Range("I" & lrow + 1).Value = setupbytext.Text
oSheet.Range("J" & lrow + 1).Value = startdate.Text
oSheet.Range("K" & lrow + 1).Value = enddate.Text
oSheet.Range("L" & lrow + 1).Value = Pipeline.ToString()
oSheet.Range("M" & lrow + 1).Value = facility.ToString()
oSheet.Range("N" & lrow + 1).Value = hourly.ToString()
oSheet.Range("O" & lrow + 1).Value = holdback.ToString() & " " & holdbackstext.Text & b.ToString()
oSheet.Range("P" & lrow + 1).Value = Discounts.ToString() & " " & discountstext.Text & dis.ToString()
oSheet.Range("Q" & lrow + 1).Value = LOA.ToString() & " " & lo.ToString() & loatext.Text
oSheet.Range("R" & lrow + 1).Value = RateSchedule.ToString() & " " & rateschedtext.Text
oSheet.Range("S" & lrow + 1).Value = WPS.ToString() & " " & wpstext.Text
oSheet.Range("T" & lrow + 1).Value = projectdesctext.Text
oSheet.Range("U" & lrow + 1).Value = filesname.ToString()
oSheet.Columns("A:T").WrapText = True
oSheet.Columns("A:T").AutoFit()
oExcel.ActiveSheet.Columns("A:A").ColumnWidth = 10
oExcel.ActiveSheet.Columns("B:B").ColumnWidth = 17
oExcel.ActiveSheet.Columns("C:C").ColumnWidth = 20
oExcel.ActiveSheet.Columns("D:D").ColumnWidth = 17
oExcel.ActiveSheet.Columns("E:E").ColumnWidth = 16
oExcel.ActiveSheet.Columns("F:F").ColumnWidth = 12
oExcel.ActiveSheet.Columns("G:G").ColumnWidth = 12
oExcel.ActiveSheet.Columns("H:H").ColumnWidth = 10
oExcel.ActiveSheet.Columns("I:I").ColumnWidth = 12
oExcel.ActiveSheet.Columns("J:J").ColumnWidth = 10
oExcel.ActiveSheet.Columns("K:K").ColumnWidth = 10
oExcel.ActiveSheet.Columns("L:L").ColumnWidth = 8
oExcel.ActiveSheet.Columns("M:M").ColumnWidth = 8
oExcel.ActiveSheet.Columns("N:N").ColumnWidth = 15
oExcel.ActiveSheet.Columns("O:O").ColumnWidth = 15
oExcel.ActiveSheet.Columns("P:P").ColumnWidth = 15
oExcel.ActiveSheet.Columns("Q:Q").ColumnWidth = 15
oExcel.ActiveSheet.Columns("R:R").ColumnWidth = 15
oExcel.ActiveSheet.Columns("S:S").ColumnWidth = 20
oExcel.ActiveSheet.Columns("T:T").ColumnWidth = 80
oExcel.ActiveSheet.Columns("U:U").ColumnWidth = 20
oBook.Save()
oBook.Close()
oSheet = Nothing
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
GC.Collect()
Catch ex As Exception
MsgBox(ex.ToString())
oExcel.Quit()
GC.Collect()
End Try
Else : MessageBox.Show("Sorry you must input all information to Continue!", "Missing Information", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Я хочу, чтобы создать гиперссылку на столбец «U» совершенно не знаю, как .. Кроме того, я хотел бы добавить границы для каждой новой записи в документе ,
Я не уверен, как все работает со ссылками на библиотеки в excel, любая информация поможет или будет так высоко оценена!
Спасибо всем!
Я продолжаю получать нарушения параметров ... вот что я придумал: oExcel.Range («U» и lrow.ToString()). Выберите() oExcel.ActiveSheet.Hyperlinks. Добавить (Адрес: = "\\ Местоположение файла \ qa_qc \ 003. Управление качеством \ 005.Project Management \ Project Logs \ Job Set Up ") –
Извините, я явно не знаю, как правильно использовать эти поля комментариев. –
Ваш intellisense должен показать вам, что вам нужно как минимум 2 параметра в методе' add() ' Первый из них - ваш диапазон, а второй - ваш адрес. Вы заметите, что ваш метод Range.Select() 'возвращает объект« Range ». Поместите это в переменную и передайте это как параметр« Anchor ». : http://msdn.microsoft.com/en-us/library/office/ff822490.aspx – Steve