Konu: excelde 0 ları saklama
excelde menüden bulamadım.
sıfır değerli hücrelerin boş çıkmasının komutu nasıl (VFP içinden olursa daha da sevinirim)
(bizim @Z karşılığını arıyorum)
peşinen teşekkürler
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » Microsoft Office Otomasyonu » excelde 0 ları saklama
excelde menüden bulamadım.
sıfır değerli hücrelerin boş çıkmasının komutu nasıl (VFP içinden olursa daha da sevinirim)
(bizim @Z karşılığını arıyorum)
peşinen teşekkürler
ActiveWindow.DisplayZeros = .f.
Menude nerededir bilmem, herhalde options altindadir.
oExcel = CREATEOBJECT('Excel.application')
WITH oExcel
.Workbooks.Add
WITH .Activeworkbook.ActiveSheet
.Range('A1:E20').Value = 100
.Range('B5:C10').Value = 0
ENDWITH
.ActiveWindow.DisplayZeros = .f.
.visible = .t.
endwith
:-) çetin hocam excele yazdırdığımız bilgilerin 1 satırını başlık olarak kabul edersek;
bu kolonların başlıklarını nasıl dikey olarak yazdırırız diye sorsam, çok mu abartmış olurum :-)
Gonlumden 70 derece koptu:) Orientation -90, 90 arasi deger. -70 de dene.
#Define xlTop -4160
Local oExcel
oExcel = Createobject("Excel.Application")
With oExcel
.WorkBooks.Add
.Visible = .T.
VFP2Excel(_samples+'data\testdata.dbc',;
'select emp_id,first_name,last_name,CAST(CHRTRAN(notes,CHR(13),"") as M) as Notes from employee',;
.ActiveWorkBook.ActiveSheet.Range('A1'))
* This part is cosmetic
With .ActiveWorkBook.ActiveSheet
.UsedRange.VerticalAlignment = xlTop && set all to top
With .Columns(5)
.ColumnWidth = 80 && 80 chars width
.WrapText = .T.
Endwith
.UsedRange.Rows(1).Orientation = 70
.UsedRange.Columns.AutoFit
.UsedRange.Rows.AutoFit
Endwith
Endwith
Function VFP2Excel
Lparameters tcDataSource, tcSQL, toRange
Local loConn As AdoDB.Connection, ;
loRS As AdoDB.Recordset,;
ix
loConn = Createobject("Adodb.connection")
loConn.ConnectionString = "Provider=VFPOLEDB;Data Source="+m.tcDataSource
loConn.Open()
loRS = loConn.Execute(m.tcSQL)
For ix=1 To loRS.Fields.Count
toRange.Offset(0,m.ix-1).Value = Proper(loRS.Fields(m.ix-1).Name)
toRange.Offset(0,m.ix-1).Font.Bold = .T.
Endfor
toRange.Offset(1,0).CopyFromRecordSet( loRS )
loRS.Close
loConn.Close
Endfunc
Çetin H. çok teşekkür ederim.
Neyzen'in sorusunu anlamadım ama genel bir yardım öneriyorum:
Excel açıkken menüden Araçlar -> Makro -> Visual Basic Düzenleyici tıklanınca (veya Alt-F11) çıkan pencereden Object Browser tıklanınca bütün excel komutları çıkıyor. Azcık ingilizce tahmin ile kodlar ve helpler var. hemen hemen her şeyi bulabiliyorsunuz.
(ben sorduğum soruyu Range içerisinde aramıştım, active window imiş..)
çetin hocam,söyleyecek söz bulamıyorum.iyiki varsınız ve bu sitede bizlerlesiniz teşekkür ederim
fox4um » Microsoft Office Otomasyonu » excelde 0 ları saklama